求教一个正则匹配规则?

$str 可能的值有下列几种情况:

min:6|default:
default:
default:0
defautl:默认值
default:|max:20
default:0|required

等等,default:后面可能有值,也肯没值,不管有无值后面还有可能不再接其他规则了,有可能还有其他规则,不过如果接其他规则的话,会以|隔开。

现在我想匹配到这个 default 冒号后面的值,这个值可能有值,也可能是个空字符串。

请问这个正则规则该咋写啊,求教了,各位大佬。

我的编程语言是 php

特别说明一下,我这个 $str 字符串的长度,一般不会超过100个字符。

阅读 2.5k
3 个回答
/[|]?default:([^|\n]*)[|]?/g

或者

/\|?default:([^|\n]*)\|?/g

可以尝试下这个规则:
image

不过我觉得不用规则式也能很好的提取,甚至提取的准确度更好。

/(?<=default:)[^|]*/

我理解你的问题,就是你想取 default: 后面的值?
/default:(.*)/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题