我试图通过以下内容得到这个词:
$string = 'code 10OFF75 +EXTRA';
$regex = '/(?<=code)\s\w+/';
输出(在rubular.com上试过):
10OFF75
我想跳过带有code
一词的特殊字符。说,我有字符串code: | code- | code:-
然后如何抓住下一个字?
答案 0 :(得分:3)
您可以尝试使用\K
功能删除匹配结果左侧的所有内容:
/code\W+\K\w+/
答案 1 :(得分:2)
什么Casimir said(推荐用于PCRE)......以及其他道路选项,以防您有一天发现自己other languages that don't have \K
support:
有后卫
(?<=code\W+)\w+
这适用于.NET和Python的正则表达式模块,它具有无限宽度的外观。
使用捕获组
code\W+(\w+)
括号将匹配捕获到组1.这适用于JavaScript(不支持lookbehind)和大多数其他Perl风格的引擎。