私は2つまでの文字を正規表現にマッチさせようとしています。Regex不足している文字を含む単語を見つけるには
ハロー 地獄 HELO hllo ello HEL HEO ELO
LLO私は正規表現hを使用することができます。たとえば、関心の言葉は、「ハロー」私は以下の文字列を一致させたいであれば?e?l?l?o?これらに一致するようにしますが、0,1,2の文字列とも一致します。マッチの長さを3〜5文字にするにはどうすればよいですか?
ありがとうございました。
私は2つまでの文字を正規表現にマッチさせようとしています。Regex不足している文字を含む単語を見つけるには
ハロー 地獄 HELO hllo ello HEL HEO ELO
LLO私は正規表現hを使用することができます。たとえば、関心の言葉は、「ハロー」私は以下の文字列を一致させたいであれば?e?l?l?o?これらに一致するようにしますが、0,1,2の文字列とも一致します。マッチの長さを3〜5文字にするにはどうすればよいですか?
ありがとうございました。
あなたはそれらの文字の3-5を確認するために先読みを使用することができます。
(?=[hello]{3,5})h?e?l?l?o?
注help
がhel
が含まれているので、これはhelp
ような文字列のように試合を見つけること。あなたがあなたの状況に応じて単語の境界や文字列の終わりをチェックすることができることをstpしたい場合。刺しゅうの端に一致させたい場合は、最初に^
を追加し、最後に$
を追加します。単語境界をチェックする場合は、両端に\b
を追加します。
あなたはこのような何か試すことができます:私はこれが((?=.{3,})h?e?l?l?o?)
働くだろうと思い
[hello]{3,5}
それは '一致しますolleh'または 'hhhhh' - 私はOPがそれを望んでいるとは思わない。 ps修正されたマイナーエラー:3,4 - > 3,5 – Bohemian
- 「少なくとも3つの文字」で、あなたの正規表現は、上の追加しました。
あなたはおそらく全体の単語だけでなく(「hellow」のようなものではなくスタート)と一致するので、開始と終了に\b
を追加するだけにこれをしたい:\b((?=.{3,})h?e?l?l?o?)\b
完璧、おかげ – PeterM