2017-11-26 4 views
-2

私はこのようになりますREG-EXを持っている:文字列だった場合正規表現は、アポストロフィで壊すことなく、言葉の逆を見つけるために、

/\W*(?:\b(?!(?:won't)\b)\w+\W*|\W+)+/ig 

この:

この文はしません正しく機能します。

それは、この光をハイライトします:

この文が正しく」トンの仕事を獲得しました。

私はそれが何をしたいのですか?どんな通常の単語でも完璧に動作しますが、単語にアポストロフィがある場合は、単語の末尾ではなくアポストロフィで折れます。

私はここsln(数ヶ月前)という名前のユーザーにこれまでに感謝しました。しかし、率直に言って、彼のreg-exは私の頭より少し上にあるので、アポストロフィを含むように修正する場所を考え出すのはでも私の頭の上です。

私の例ではっきりわからない場合は、以外は(?:word |と| other)の単語が選択されます。ここで

RegExr.com

にここに他の質問は、先読みを信じるように私を導いてきた現在の状態の一例である答えです:

(?=\S*[']) 

しかし、私はどこに追加するかわかりませんそのような複雑なRegExに

ありがとうございました!

/\w+(?:(?!won't|matches|or|the|text).)\w+\W*/ig 

Demo

をそして、あなたはあなたのコメントに要求されるように、次与えます:

+0

はあなたが実際にここにしようしようとしているかを説明できますか?正規表現はものを "強調"しません。最終的に実際に何かを強調表示する予定がある場合は、一致する正規表現を1つ使用してすべてをやろうとすると、より多くの成功を収めます。 - たとえば、\ b(文字列と一致するかどうか\ b')の文字列をsplit *すると... – poke

+0

@poke申し訳ありませんが、私はRegExrの仕組みを強調していますが、本質的にはちょうど私が探しているマッチ。しかし、*一致する単語はリストされた単語ではありません。したがって、逆のマッチです。 逆の部分は、スパンタグをラップします。 最終的な結果は "のようになります。この文が正しく動作しません。'この文は動作しませんのためにそう「 – OscarWilde

+1

あなたは' はこの文が正しく仕事 '? – poke

答えて

0

これを試してみてください

# This sentence : 

# won’t : 

# work properly: 
関連する問題