0

次の形式で文字列を照合しようとしています。

require([ "foo/bar", "foo2/bar2" ])

空白は完全に無視する必要があります。次の正規表現を使用していますが、ほとんど成功していません。

require\\(\s*\\[[.\s]*\\]\\)

助言がありますか?私は正規表現の試みが恐ろしいことを知っています...

編集:私はPythonを使用しています!

4

1 に答える 1

2

二重引用符で囲まれた文字列などで Java または PHP を使用している場合は、同様にダブル エスケープする必要があり\sます。そうでない場合は、代わりに二重のバックスラッシュをすべて削除する必要があります (単一のバックスラッシュにします)。[.\s]また、はピリオドと空白のみに一致することに注意してください(.は文字クラス内でのワイルドカードの意味を失います)。本当に何かに一致させたい場合は、[\s\S]代わりに使用してください。

使用する言語で二重エスケープが必要であると仮定します。

require\\(\\s*\\[[\\S\\s]*\\]\\)

これが同じ文字列で複数回発生すると、問題が発生することに注意してください。次に、最初require([から最後の]). これを回避する]には、繰り返し内で禁止します。ただし、文字列に自分自身requireが含まれている可能性がある場合、これが問題を引き起こす可能性があることに注意してください。]

require\\(\\s*\\[[^]]*\\]\\)
于 2012-10-25T15:59:35.433 に答える