[英]Matching Word, then between delimiters in PHP With Regular Expression
在編寫正則表達式時遇到一些困難,它將滿足我的需求。 基本上,我通過一個包含數千行文本的文件進行解析,並用該行查找任何內容:
考試:
匹配的文本將始終采用以下格式:
考試:(測試字符串)多余的文字
所以我想做的是在EXAM:上進行匹配,然后插入括號內的所有內容。
我目前的表情:
/^.+?\EXAM:(.+)$/is
在EXAM:之后插入所有內容,該功能不適用於此應用程序。
您可以使用/EXAM:\\s*\\(([^)]+)\\)/i
:
if(preg_match("/EXAM:\s*\(([^)]+)\)/i", $thisline, $matches)) {
$exam_type = trim($matches[1]);
}
[^)]
將匹配除右括號以外的所有內容,並且會在遇到的第一個)
處停止。 您需要對括號進行轉義,因為它們是特殊的正則表達式字符(它們用於捕獲變量)。 例如,在這里您使用未轉義的來存儲所需的內容。
\\s
是任何類型的空格(空格,制表符...)的快捷方式。
您可能不需要在末尾加上s
,因為您是逐行解析doc: s
標志僅使成為.
在所有其他內容上匹配換行符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.