正規表現の質問:2つの単語が1行に同時に表示される場合、1つは一致しますが、3つ以上離れている場合は一致しませんか?
例:match and Apartは、「単語を離して一致させる試みは成功しません」と「2つの単語を離して一致させる試みは成功しません」では一致しますが、「3つ以上の単語を離して一致させる試みは成功しません」では一致しません。
ありがとう。
正規表現の質問:2つの単語が1行に同時に表示される場合、1つは一致しますが、3つ以上離れている場合は一致しませんか?
例:match and Apartは、「単語を離して一致させる試みは成功しません」と「2つの単語を離して一致させる試みは成功しません」では一致しますが、「3つ以上の単語を離して一致させる試みは成功しません」では一致しません。
ありがとう。
各単語は、のようなもので定義できます\w+\s
。
3語以内で次のように書くことができます(\w+\s){0,3}
したがって、正規表現は次のようになります。
/match\s(\w+\s){0,3}apart/
これは機能するはずです:
match\s+(\S+\s){,2}apart
\s
は空白文字で\S
あり、非空白文字です。単一行のアスペクトの場合、改行文字とを含むように変更\s
することをお勧めします。[^\S\n\r]
\s
\n
\r
もちろん。これは単語の定義方法によって異なりますが。たとえば、文字だけを単語と見なし、文字以外のすべての文字を区切り文字と見なすとしましょう。
firstword[^a-zA-Z\r\n]+(?:[a-zA-Z]+[^a-zA-Z\r\n]+){0,2}secondword
[a-zA-Z]
任意の文字です。[^a-zA-Z\s]
非文字、非改行文字。それがほとんどすべてです。