我想要一個正則表達式,當它遇到「整數xyz」,但只返回匹配文本「xyz」時,將生成一個匹配。 'xyz'可以是一個標識符(字母+數字+下劃線)。正則表達式需要前面的東西,但不包括在比賽中
XYZ本身產生不匹配,只能由XYZ '整數'
前面感謝!
我想要一個正則表達式,當它遇到「整數xyz」,但只返回匹配文本「xyz」時,將生成一個匹配。 'xyz'可以是一個標識符(字母+數字+下劃線)。正則表達式需要前面的東西,但不包括在比賽中
XYZ本身產生不匹配,只能由XYZ '整數'
前面感謝!
什麼語言?在Perl 5.10或PHP 5,我會使用\K
:
/integer \K\w+/
對於大多數其他語言我建議一個回顧後:
(?<=integer)\w+
如果它是JavaScript的,我建議你成爲一個讀者Steve Levithan's blog。想想看,無論如何我都會推薦。 :-)
當然,假設正則表達式必須與只匹配變量名。否則,我會與其他響應者的建議一起使用捕獲組。
這是不可能的。如果你希望它匹配「整數xyz」中的xyz,但不匹配「只是xyz」,那麼你確實在尋找匹配「整數xyz」的匹配。
你可能需要做的是期待匹配將是「整數xyz」,然後清理匹配以提取「xyz」部分。
這取決於您使用的編程語言。你將需要一個組的正則表達式,第二大括號()
包含變量名稱。
integer\s+([^,;\s]+)
/integer\s+([a-zA-Z0-9_]+)/
然後拿到反向引用\ 1
如果您在Google上搜索'正規表達式測試程序',您會得到一些非常有用的工具。 http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=regex+tester – 2010-01-28 02:09:34