1

正規表現を使用して特定の文字列の後の最初の単語を照合しようとしていますが、すべてのインスタンスを適切に機能させるのに苦労しています。2つの文字列があるとしましょう:

Site Code: foobar

Site Code: hello-world

今、正しい(?<=\bSite Code:\s)(\w+)リターンを使用していますが、代わりに必要なときにfoobarのみリターンします。hellohello-world

そこで、(?<=\bSite Code:\s)(\w+)(-\w+)ハイフンで区切られた単語を拾うために表現を に変更しましたが、ハイフンで区切られていない単語は無視されます。

同じ式から と の両方を取得する方法はありfoobarますか?hello-world

4

2 に答える 2

2

これを試して(?<=\bSite Code:\s)(\S+)

要件の詳細がなければ、正確な答えを出すことは困難です。上記の正規表現は、特定の文字列 "Site Code: " の後の空白以外のすべての文字と一致する必要があります。

于 2013-10-18T16:13:57.897 に答える
1

この正規表現を試してください:

(?<=\bSite Code:\s)([-\w]+)

#\w only include the range [A-Za-z0-9_] in ascii mode.
于 2013-10-18T16:05:02.980 に答える