私は、このような正規表現英数字を除外する
ELL
ELLs
The ELL
Which ELLs
として出力を期待して、検索文字列
[^0-9a-zA-Z]*ELL[^0-9A-Z]*
で
など、スペース、[^0-9a-zA-Z]*
除外はすべての英数字文字を思ったが、特殊文字を可能にし
しかし、次の出力も得られます
Ellis Island
Bellis
これを修正するにはどうすればよいですか?
私は、このような正規表現英数字を除外する
ELL
ELLs
The ELL
Which ELLs
として出力を期待して、検索文字列
[^0-9a-zA-Z]*ELL[^0-9A-Z]*
で
など、スペース、[^0-9a-zA-Z]*
除外はすべての英数字文字を思ったが、特殊文字を可能にし
しかし、次の出力も得られます
Ellis Island
Bellis
これを修正するにはどうすればよいですか?
あなたが使用すること
(?:\b|_)ELLs?(?=\b|_)
はregex demoを参照してください。
_
または単語以外の文字で囲まれている場合、または文字列の先頭/末尾にある場合、ELL
またはELLs
が見つかります。
詳細:
(?:\b|_)
- 非捕捉交替ワード境界位置(\b
)に一致する基または(|
)_
ELLs?
からs?
マッチ1ためELL
又はELLs
と一致または0 s
chars(?=\b|_)
- 偽の存在を必要とする肯定的な先読み現在の位置のすぐ右に境界線または_
が表示されます。*を* to +
*と変更してください。 A +は1つ以上を意味します。あなたはおそらくかかわらず、欲しいのは単語boundryされています。それが開始または終了する場合は、\ Wと\ W(非単語の文字)、または文字列の先頭または末尾の間に位置
\bELL\b
ワードboundryです(それぞれ)を単語文字([0-9A-Za-z_])で置き換えます。もっとここにそのことについて: What is a word boundary in regexes?
[ワード境界でパターンを囲みます](https://regex101.com/r/9lAaTj/1)?要件は何ですか? –
@WiktorStribiżewRegexは 'ELL'と 'ELLs'をキャプチャする必要があります – Rhonda
なぜこれらの部分文字列をキャプチャする必要がありますか?なぜマッチしないの?期待される結果は何ですか? –