2010-01-28 22 views
1

我想要一個正則表達式,當它遇到「整數xyz」,但只返回匹配文本「xyz」時,將生成一個匹配。 'xyz'可以是一個標識符(字母+數字+下劃線)。正則表達式需要前面的東西,但不包括在比賽中

XYZ本身產生不匹配,只能由XYZ '整數'

前面感謝!

+1

如果您在Google上搜索'正規表達式測試程序',您會得到一些非常有用的工具。 http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=regex+tester – 2010-01-28 02:09:34

回答

1

什麼語言?在Perl 5.10或PHP 5,我會使用\K

/integer \K\w+/ 

對於大多數其他語言我建議一個回顧後:

(?<=integer)\w+ 

如果它是JavaScript的,我建議你成爲一個讀者Steve Levithan's blog。想想看,無論如何我都會推薦。 :-)

當然,假設正則表達式必須與只匹配變量名。否則,我會與其他響應者的建議一起使用捕獲組。

1

這是不可能的。如果你希望它匹配「整數xyz」中的xyz,但不匹配「只是xyz」,那麼你確實在尋找匹配「整數xyz」的匹配。

你可能需要做的是期待匹配將是「整數xyz」,然後清理匹配以提取「xyz」部分。

1

這取決於您使用的編程語言。你將需要一個組的正則表達式,第二大括號()包含變量名稱。

integer\s+([^,;\s]+) 
0
/integer\s+([a-zA-Z0-9_]+)/ 

然後拿到反向引用\ 1

0

我缺少的東西或不會你只要把XYZ括號,其中xyz是你關心什麼(你的情況看起來像[一-Za-Z0-9 _] +)?

所以 整數([A-ZA-Z0-9 _] +)

你然後引用的是在以$ 1或等效的括號中給出你的語言

+0

我想通過xyz他意味着一個未知的變量名稱。否則你是對的.. – Amirshk 2010-01-28 01:13:22

+0

謝謝,更新xyz是更通用的 – Peter 2010-01-28 01:15:24

相關問題