我有这个正则表达式:
^(@include rem\(\s*(.*)),\s*(.*)\)
匹配此字符串:
@include rem( padding-top, $alert-padding );
我希望能够使用$ alert-padding的组忽略最后的空白区域。我试过了:
^(@include rem\(\s*(.*)),\s*(/S)\)
替换。* by / S但它不匹配。
你可以在这里玩正则表达式: https://regex101.com/r/9rouVU/1/
答案 0 :(得分:1)
您可以使用\S+
来匹配一个或多个非空白字符:
^(@include rem\(\s*(\S+))\s*,\s*(\S+)\s*\)
请参阅regex dem0
<强>详情:
^
- 字符串开头(@include rem\(\s*(\S+))
- 第1组捕获:
@include rem\(
- 文字子串@include rem(
\s*
- 0+ whitespaces (\S+)
- 第2组捕获1个非空白符号\s*,\s*
- 0+个空格,,
和0 +空格(\S+)
- 1个非空白符号\s*
- 0+ whitespaces \)
- 文字)
。答案 1 :(得分:0)
您可以使第二组中的匹配变得懒惰,然后匹配另外的可选空格:
^(@include rem\(\s*(.*)),\s*(.*?)\s*\)