正規表現パターンの文字を除外する

ルートヴィヒ・フォン・ドレイク:

私はのための正規表現パターンを作成しようとしています<String>-<String>これは私の現在のパターンです。

(\w+\-\w+)

最初の文字列は、「W」ことが許されていません。しかし、それはまだそれが複数の文字が長いかどうよ「W」含めることができます。

たとえば、次のように W-80- >無効 W42-80- >有効

これはどのように達成することができますか?

vbezhenar:

だからあなたの最初の文字列は、いずれかになります:1つの文字ではなく、Wまたは2+の文字。それを達成するための単純なパターンは次のとおりです。

([^W]|\w{2,})-\w+

今、それは最初の部分のための任意の文字を許可しますが、もともとだけので、しかし、このパターンは、完全に正しくない\w文字が許可されると予想されました。だから、正しいパターンは次のとおりです。

([\w&&[^W]]|\w{2,})-\w+

パターンは[\w&&[^W]]から任意の文字を意味\w除く文字クラスW文字を。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=13363&siteId=1