我在創建正則表達式時遇到了一些問題。使用正則表達式在引號之間獲取文本
我需要一個正則表達式來匹配下面的例子,然後分賽第一引號的字符串:
輸入字符串
("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
('Lorem ipsum dolor sit amet, consectetur adipiscing elit. ')
('Lorem ipsum dolor sit amet, consectetur adipiscing elit. ', 'arg1', "arg2")
必然選擇子匹配
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
正則表達式到目前爲止:
\((["'])([^"']+)\1,?.*\)
正則表達式確實在第一組引號之間的文本子匹配,並返回顯示子匹配以上。
這幾乎是可以正常使用,但我的問題是,如果引用的字符串包含在子比賽停止在一審文本報價,請看下圖:
如果不輸入字符串
("Lorem ipsum dolor \"sit\" amet, consectetur adipiscing elit.")
只有子場比賽:Lorem ipsum dolor
("Lorem ipsum dolor 'sit' amet, consectetur adipiscing elit.")
整場比賽失敗。
注意
輸入字符串實際上是PHP代碼的函數調用。我正在編寫一個腳本,它將掃描特定功能的.php源文件,並從第一個參數中獲取文本。
爲什麼不是僅僅指剛使用反射API?編輯:沒關係...你的意思是你掃描實際的腳本不是功能/類/等.. – prodigitalson 2010-04-27 17:11:00
正確。我正在掃描來源尋找上面的字符串。 – Camsoft 2010-04-27 20:00:51