3

SEO フレンドリーな URL を作成するために、スペース、タブ、改行、コンマ、アンダースコアをダッシュ​​に置き換えるテンプレート タグを作成したいと考えています。

re.sub('\s+', '-', str)

このコード行は、スペースをダッシュ​​に置き換え、次のようにします。

re.sub('(?<=[,.?!\t\n ])+', '-', str)

このコード行はスペースをダッシュ​​に置き換える必要が?<=[,.?!،ありますが、そうではありません。

4

1 に答える 1

5

内蔵slugifyフィルターの使用を検討しましたか?

2 番目の式の問題は、肯定的な後読み ( ?<=) を使用していることです。

regular-expressions.infoから:

"ゼロ幅の正の後読み。先読み内のパターンがその位置 (つまり、その位置の左側) で終了する場合に一致する場合、その位置で一致します。

以下はおそらくあなたがやろうとしていたことです:

re.sub('[,.?!\t\n ]+', '-', s)

これは、一連の文字,.?!\t\nを単一のダッシュに置き換えています。

于 2012-07-14T09:56:45.603 に答える