此问题已在此处有答案:
regex - ignore escaped chars within quotation marks(2个答案)
Regex for escaping single quotes which are not already escaped(1个答案)
Regex to replace non escaped Quotes(4个答案)
php regex matching a characters that is not preceded by a specific character [duplicate](1个答案)
Regex match unescaped quotes(2个答案)
昨天关门了。
我觉得我应该能够找到这个问题的答案,但我似乎不能弄清楚。我在一个php文件中有一个基本的字符串,我正在用正则表达式搜索。搜索工作很好,但我不知道如何排除基于转义字符的某些标签。
这是我的搜索字符串
@section('content')
\@section('test')
\@endsection
@endsection
我试图选择@section(“X”),除非它先用“\”转义。因此,第二次出现时,它说“@section('test')”将不匹配,因为转义字符。
下面是我的正则表达式,它可以选择所有的事件。
preg_match("/\@section\(\'\S*\'\)/i", $file_data, $start_section_match);
我想我是在正确的轨道上使用的“^”符号,但我不是很确定.我知道这可以做一点php的工作,但我只是好奇,如果有一种方法来做,只是正则表达式.谢谢!
1条答案
按热度按时间wribegjk1#
这个应该能帮你。。
这是一个负向后查找,如果前一个字符不是反斜杠。它实际上不匹配任何东西,它只是检查它。