2010-07-08 81 views
0

有一個人可以建議如下文字推薦的正則表達式

簽名

文字文本一些文字

文本

...

文本的正則表達式

我試圖Signature\n.*\)但這隻能用於

簽名
文本)

基本上,其與給定的文本開始的表達,允許多個新線,和以)結尾。

感謝

+0

文字和文字之間有新的線條。不知道爲什麼它包裹:( – 2010-07-08 06:48:13

+3

請點擊對您最有幫助的答案左邊的複選框,接受您現有問題的答案。謝謝! – 2010-07-08 06:49:58

+0

這裏flex指的是gnu詞法分析器(如lex和yacc)不是adobe flash – 2010-07-08 06:57:34

回答

4

的問題是,.不符合新的內襯默認。

一個簡單的選擇是:

/signature[^)]*\)/i 

[^)]*將匹配除了)所有字符。

我不確定在flex中是否有點全部標誌。在JavaScript中/s標誌缺失,並共同解決辦法是:

/signature[\s\S]*?\)/i 

在這種情況下,你可能想使用一個懶惰的量詞,*?,所以你匹配,直到第一),而不是最後一次。

+2

+1否定字符類是要走的路。 – quantumSoup 2010-07-08 06:55:51

0

嘗試

var pattern:RegExp = /^Signature.+\\)/m; 
+2

不熟悉Flex的正則表達式API,但不應該是's'標誌而不是'm'標誌?雙反斜槓是否必要? – 2010-07-08 06:55:43

0

您可以使用下面的正則表達式

\ bSignature [\ S \ S] *?[)]

此正則表達式會先看看簽名,後面是任何字符其中包括字母數字字符,\ n等等)

0

Flex支持取反的字符類,所以你可以這樣做:

/* definition section */ 

%% 

Signature[^)]*\) { /* custom code */ } 

%% 

/* user subroutines */ 
相關問題