"front"という単語を含む文字列と一致する正規表現パターンをまとめようとしていますが、 "square"という単語は含まれていません。私はこれを個別に達成することができますが、それらをまとめるのに問題があります。javascript regex:文字列にはこれが含まれていますが、それはありません
フロント= YES
^((?=front).)*$
平方= NO
^((?!square).)*$
はしかし、どのように私はこれらのような単一の正規表現式に結合するには?
"front"という単語を含む文字列と一致する正規表現パターンをまとめようとしていますが、 "square"という単語は含まれていません。私はこれを個別に達成することができますが、それらをまとめるのに問題があります。javascript regex:文字列にはこれが含まれていますが、それはありません
フロント= YES
^((?=front).)*$
平方= NO
^((?!square).)*$
はしかし、どのように私はこれらのような単一の正規表現式に結合するには?
あなたは、このためだけの単一の負の先読みを使用することができます
/^(?!.*square).*front/
(?!.*square)
はsquare
が存在する場合、どこにでも入力^.*front
でどこでも入力front
と一致します失敗したことを主張するために否定先読みであります
ルックアヘッドアサーションを使用して論理を表現することができます。
最終パターンは、次のようになります。ここ
^(?=.*?front)(?!.*square)
の答えは正しいですが、なぜ正規表現を使うのか? '(text.indexOf( 'front')> = 0)&&(text.indexOf( 'square')=== -1)'なぜでしょうか? – smarx
またはES6 'text.includes(" front ")&&!text.includes(" square ")'(ただし、まだ完全にはサポートされていません) – Arnauld