私は正規表現の新人です。単純なケースのように見えますが、苦労しています。"foo-some white space-bar"を "fubar"に置き換える正規表現
"foo bar"を "fubar"に置き換える必要があります。ここでは、fooとbarの間に多少の空白があります。
これは価値があるため、私はこれを達成するためにPHPのeregi_replace()を使用しています。
ご協力いただきありがとうございます。
私は正規表現の新人です。単純なケースのように見えますが、苦労しています。"foo-some white space-bar"を "fubar"に置き換える正規表現
"foo bar"を "fubar"に置き換える必要があります。ここでは、fooとbarの間に多少の空白があります。
これは価値があるため、私はこれを達成するためにPHPのeregi_replace()を使用しています。
ご協力いただきありがとうございます。
... =
preg_replace
('/foo\s+bar/', 'fubar', ...);
私はeregi_replace
構文についてはよく分からないが、あなたはこのような何かしたいと思います:れるS \
find = '(foo)\s*(bar)'
replace = '\\1\\2'
:これを試してみてください
Pattern: foo\s*bar
Replace with: fubar
を任意の空白文字のメタ文字。
キャプチャブラッケンの使用例としては良い例ですが、Lasoldo Solsifaは "foo bar"を "foobar"ではなく "fubar"に置き換えたいと考えています。 – drdaeman
は、私はまたpreg_replace
好むが、完全を期すために、ここではereg_replace
である:「めちゃくちゃ」
ああ、印刷し
、あなたはあまりにも「foobarに」を置換したい場合は、あなたがする必要はあり\ s +の代わりに\ s *を使用してください。 "*"は "0回以上"を意味する( "*"記号はhttp://en.wikipedia.org/wiki/Kleene_starから直接来た)、 "+"は "1つ以上の時間"を意味する。 "\ s"は "任意の空白文字"を表します。平文のエスケープされていない英数字には特別な意味はありません。 – drdaeman
ereg_ *の代わりにpreg_ *(drdaemanが使用したように)を使用することをお勧めします。前者は、現実の標準であり、Web上ではるかによく文書化されているperl互換の正規表現(PCRE)を使用しています。 –
この表現は、私が望んだのとまったく同じように動作します。ありがとうございましたdrdaeman、その他、ヘルプ、および役に立つ追加のコメント。 –