Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在第一个字符中开始我的图案_Regex_Pattern Matching - Fatal编程技术网

Regex 如何在第一个字符中开始我的图案

Regex 如何在第一个字符中开始我的图案,regex,pattern-matching,Regex,Pattern Matching,我不想为find“[ref:math]”创建模式。如果“[ref:math]”在第一个位置,我找不到它,但如果在没有问题之前有另一行 我的模式是:([^\t]\[ref\:(.*?\]) 我之所以把[^\t]放进去,是因为当我不想在一个组中找到结果时,我使用表格 我有什么问题?如何解释第一个字符开始的模式 谢谢你的帮助 我搜索的文件,但什么也找不到 [参考:数学] [原件参考号:cc] [第1类] [参考:aa] [\type1] 我搜索并找到“ref:math”的文件 [master\u r

我不想为find“
[ref:math]
”创建模式。如果“
[ref:math]
”在第一个位置,我找不到它,但如果在没有问题之前有另一行

我的模式是:
([^\t]\[ref\:(.*?\])

我之所以把
[^\t]
放进去,是因为当我不想在一个组中找到结果时,我使用表格

我有什么问题?如何解释第一个字符开始的模式

谢谢你的帮助

我搜索的文件,但什么也找不到

[参考:数学]
[原件参考号:cc]
[第1类]
[参考:aa]
[\type1]
我搜索并找到“ref:math”的文件

[master\u ref:cc]
[参考:数学]
[第1类]
[参考:aa]
[\type1]
您可以使用
(?:^ |[^\t])
非捕获组,在字符串开头或任何字符之间交替使用,但选项卡除外:

(?:^|[^\t])(\[ref:(.*?)])

另一种方法是使用反向查找
(?如果当前位置的左侧有一个制表符,则匹配失败:

(?<!\t)(\[ref:(.*?)])
(?

请参见

非常感谢您,这是一个完美的网站,工作非常出色。我不知道这个网站,但学习如何制作图案非常糟糕。再次感谢。