2017-12-04 30 views
1

正規表現初心者はこちらです。ある文字列定数1ここで正規表現の文字列パターン

<optional constant string 1><string 2><space><string 3> 

ad_

例(許可パターン)私は、以下の文字列をサポートする正規表現式を作成する必要があります。

[1]
ad_xyz.qwe.sty blah blah...
文字列1:ad_
文字列2:xyz.qwe.sty
文字列3:何とか何とか...(フリーテキスト)

[2]
abc blah ...
文字列1 :(不在)
文字列2:abc
文字列3:blah ...(フリーテキスト)

[3]
sdf.pqr blah blah blah...
文字列1:(不在)
文字列2:sdf.pqr
文字列3:ここで何とか何とか何とか...(フリーテキスト)

は私がやっているものです:

(?:[ad_]{0,1})?\-[a-zA-Z.]*\.[a-zA-Z0-9]*

今、これは最初のパターンを検出します。私が{0,1}を言及しましたが、まだstring 1は必須です。

+0

'[ad_]'は、 'a'、' d'、 '_'のいずれかと一致します。文字列全体をマッチさせたい場合、 'ad_'になります。 '(?:ad _)?'は 'ad_'に0回または1回マッチします。 – bfontaine

答えて

2

あなたが最初のグループ内の任意の一致のために、この正規表現を使用することができますいくつかの文字のうち一つだけの文字が[ad_]時に一致したところ、あなたの正規表現[...]

^(ad_)?(\w+(?:\.\w+)*)\s*(.*)$ 

RegEx Demo

character classますaまたはdまたは_のいずれかに一致する

1

私はこの正規表現strinを使用することをお勧めしますg:

^(ad_)?(\S*)\s(.*) 
関連する問題