2016-09-28 33 views
0

私は、Adobeのjavascriptで正規表現を使用して、図表タイトルブロックに単語列を検索しています。次いで、数(1)、日付単語や頭文字の4組正規表現正規表現一致文字列

var re = new RegExp(1+"\\s\\d{1,2}\\.\\d{1,2}\\.\\d{2,4}\\s\\w+(?:\\s+\\w+){1,9}\\s([A-Z]{2,7})\\s([A-Z]{2,7})\\s([A-Z]{2,7})\\s([A-Z]{2,7})"); 

の変化する数で始まる図面タイトルブロックの例は、以下た:THIS TESTING FOR SB

1 20.09.16 CHANGES SB BW CR

0 CONSTRUCTION MM SB BW GMが承認29.07.16

正規表現の結果は、建設MM FOR

ですSB BW GMは、私がこのテストSB SB BW CR

FOR

1 20.09.16 CHAINAGESする正規表現を必要THIS TESTING SB SB

FOR 1つの20.09.16 CHANGESは、誰もが見つける方法を助言することができます結果に示されているように、ランダムなテキストではなく1から始まる完全一致。

ご協力いただき、ありがとうございます。

注:修正正規表現は、以下の私は、変数へのテキストから正規表現の先頭に1を交換する必要が

var re = new RegExp(/^1\s\d{1,2}\.\d{1,2}\.\d{2,4}\s\w+(?:\s+\w+){1,10}\s([A-Z]{2,2})\s([A-Z]{2,2})\s([A-Z]{2,2})\s([A-Z]{2,2})$/g); 

動作します。

正規表現は^まずjavascriptの変数で始まり、その後、正規表現

var re = new RegExp("//^"+firstWord+"\\s\\d{1,2}\\.\\d{1,2}\\.\\d{2,4}\\s\\w+(?:\\s+\\w+){1,9}\\s([A-Z]{2,4})\\s([A-Z]{2,4})\\s([A-Z]{2,4})\\s([A-Z]{2,4})$//g"); 

は、正規表現は、誰もが正規表現でJavaの変数を組み合わせる方法を助言することができ、動作していませんか?あなたの結果はそのように判明なぜ

+0

I図面のタイトルブロックの格納方法を知らずに結果が「順不同」である理由を理解できません。しかし、 '1'で始まるものにマッチさせたいならば、正規表現の先頭に' 1'を置く必要があります。 –

+0

あなたの質問を編集して正規表現の使い方を見せてください。また、表示された結果には、サンプル入力に全く含まれていない文字(「CS」)が含まれていますが、意味をなさないので、サンプルの入力と結果を再度確認してください。 – nnnnnn

+0

私は現在働いている改訂正規表現で質問を編集しました。アンダースコアで正規表現の分割に助けが必要です - あなたが助けることを望みます – JoJo

答えて

1

は私はわからないんだけど、あなただけの文字列を取得するには

var str = '1 20.09.16 CHANGES FOR THIS TESTING SB SB BW CR 0 29.07.16 APPROVED FOR CONSTRUCTION MM SB BW GM' 

var result = str.match(/1\s\d{1,2}\.\d{1,2}\.\d{2,4}\s\w+(?:\s+\w+){1,9}\s([A-Z]{2,7})\s([A-Z]{2,7})\s([A-Z]{2,7})\s([A-Z]{2,7})/g) 

この戻り

[ '1 20.09.16 CHANGES FOR THIS TESTING SB SB BW CR' ]

をすれば、あなただけ行う必要がありますresult[0]

+0

あなたの正規表現var re = new RegExp(/^1 \ s \ d {1,2 } \ d {1,2} \。\ d {2,4} \ s \ w +(?:\ s + \ w +){1,9} \ s([AZ] {2,7})\ s ([AZ] {2,7})\ s([AZ] {2,7})\ s([A-Z] {2,7})$/g);結果は次のとおりです:1 20.09.16このテストSB SBには、最後の2つのイニシャルがありません。理由は何ですか? – JoJo

+0

'$'は行末を意味し、文字列の終わりを意味しません。複数行の文字列を持つ場合、一致しない可能性があります。代わりに '\ z'を試してください。 – davidhu2000

+0

助けてくれてありがとうございます。正常な正規表現の結果を編集して質問を編集しました。アンダースコアで正規表現の分割を助けてください。 – JoJo

関連する問題