正则表达式去除前导空格

4

如何去掉前导空格?

[^-;]style=".*?"

将正确选择这个,但它包括前导空格。如何删除它?

{{col.displ style="{cursor: col.cursor}" ng ayName}}
// selection: ' style="{cursor: col.cursor}"'

1
你在使用哪种编程语言或环境? - Martin Ender
3个回答

1
使用负回顾后发现:
(?<![;-])style="[^"]*"

正则表达式 (?<![;-]) 的意思是“前面的字符不能是;-”,但不会捕获它:环视是非捕获即零宽度的。

太好了!(?<![-])style="[^"]*"正是我所需要的!谢谢。 - Kirk Strobeck

0

这包括任何不是 -; 的内容:

[^-;]

您想要筛选掉空格,可以添加一个空格:
[^-; ]

筛选出所有空格字符,可以添加以下代码:

[^-;\s]

这里有一个正则表达式的好参考

如果你只想捕获以单词“style”开头的短语,那么根本不需要匹配。

然后查找引号内不是引号的任何内容:

style=\"[^\"]+\"

我添加了转义字符,因为不清楚您将此代码包含在哪个应用程序或语言中。


-1
尝试一下这个模式:
style=["][^"]+["]

或者在你的模式中可以这样做:

[^-; ]style=["][^"]+["]

1
第一个正则表达式允许前面的字符是分号或破折号,而这不是 OP 想要的。第二个正则表达式捕获空格。两者都不起作用。 - Bohemian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接