在 Sublime Text 3 中创建一个不贪婪的正则表达式
Creating an ungreedy regex in Sublime Text 3
如何在 Sublime Text 3 中创建非贪婪的正则表达式? \U
和 ?
语法似乎都不起作用。
这是我的代码行:
if (isset($data) === false && is_null($data) === false && is_array($data) === false) {
这是我的正则表达式:
(is(.+)\($(.+)\) === false)?
我应该得到九个单独的匹配项(在 Regexr 中测试):
isset($data) === false
set
data
is_null($data) === false
_null
data
is_array($data) === false
_array
data
准备替换为 !is($)
,但它捕获的是整个语句,而不是三个人。
试试这个:is([^(]+)\($([^)]+)\) === false
替换为!is($)
见demo
如何在 Sublime Text 3 中创建非贪婪的正则表达式? \U
和 ?
语法似乎都不起作用。
这是我的代码行:
if (isset($data) === false && is_null($data) === false && is_array($data) === false) {
这是我的正则表达式:
(is(.+)\($(.+)\) === false)?
我应该得到九个单独的匹配项(在 Regexr 中测试):
isset($data) === false
set
data
is_null($data) === false
_null
data
is_array($data) === false
_array
data
准备替换为 !is($)
,但它捕获的是整个语句,而不是三个人。
试试这个:is([^(]+)\($([^)]+)\) === false
替换为!is($)
见demo