1

特定の単語の後に「not」が続く正規表現を作成しようとしています。たとえば、「does not」、「are not」などです。これまでのところ、正規表現があります:http: //rubular.com/r/ 5bPRtuz9lA

/\b(are|can|could|did|does|do|had||has|should|have|is|were|might|must|will|would)+\snot/i

問題は、「not」がこれと一致することです。これは私が望んでいることではありません。指定された単語の1つが前に付いている場合にのみ一致させたい。私はここで何が間違っているのですか?

4

1 に答える 1

3

ここに余分なパイプがあります:(had||hasそうあるべきですhad|has)。

これは言うようなもの"had" or "" or "has"です。したがって、空の文字列、スペース、「not」が続くと、正規表現に一致します。

+ところで、あなたはおそらくあなたの単語リストの最後にを望んでいません。それはそれを1つ以上にするので、あなたの正規表現は「できない」と一致します。を削除するだけ+で修正できます。

于 2012-05-07T03:11:12.037 に答える