2

私は広告を解析する PHP スクリプトに取り組んでおり、正規表現を追加して特殊コードを見つけたいと考えています。これは、任意の長さにすることができますが、任意の順序または任意の長さの文字と数字の両方で構成される単語です。これに適切な構文が何であるかはわかりません。文字または数字のいずれかを許可するパターン、または文字と数字の特定のパターンを必要とするパターンを見つけましたが、ほとんどランダムな組み合わせではありません。

アドバイスをいただければ幸いです。

サンプル: 金曜日までにクーポン コード WID2010 でウィジェットを 20% 割引で購入

理想的には、「WID010」という単語を検出し、それを使用して、他の用途のためにアイテムにフラグを立てたいと考えています。ただし、その形式は必ずしも一貫しているわけではありません。予測できるのは、コードが常に少なくとも 1 つの文字と 1 つの数字で構成され、スペースや句読点がないことだけです。

4

2 に答える 2

14

そのようなコードは、次のいずれかで構成されます

  • 任意の数 (最小 1) の文字とそれに続く 1 つの数字、および任意の数 (最小 0) の文字および/または数字
  • または任意の数 (最小 1) の数字の後に 1 文字と任意の数 (最小 0) の文字および/または数字が続く

キャプチャ グループとして記述:

((?:[a-zA-Z]+[0-9]|[0-9]+[a-zA-Z])[a-zA-Z0-9]*)
于 2012-05-03T21:28:44.887 に答える
7

何かのようなもの:

(?=\w*[a-z])(?=\w*[0-9])\w+

これは、文字、次に数字の先読みを行い、文字と数字 (単語) をそれぞれ少なくとも 1 つと照合します。

イデオン

于 2012-05-03T21:31:34.977 に答える