【发布时间】:2020-05-27 22:05:08
【问题描述】:
我需要匹配以单个星号字符开头或结尾的每一行,中间没有任何其他星号。
1.- foo BAR, FOO1*
2.- *FOO, bar% foo
3- *foo). BAR", fOo*
4.- **foo BAR foo
5.- *foo bar foo**
6.- foo bar * foo
7.- foo bar foo
我想匹配第 1 到第 3 行,其他行我不会匹配它们。
我的方法:
^[\*](?:[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-\s])|^[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-\s]+.\*$
但并非在所有情况下都有效。
【问题讨论】:
-
你的正则表达式不包含行号。 3
-
如果您检查了更新的内容,它会这样做,或者我错过了什么?我不应该删除领先的
1. -部分吗?那是字符串的一部分? -
@Eraklon 前导 '1.- , 2.-...' 部分不是字符串的一部分,是示例的数字行。它工作正常!非常感谢!!
-
您在上面说:“我需要匹配以单个星号字符开头或结尾的每一行(原文如此)”但是在您提供的示例中,我们可以推断出有更多条件。说“我需要匹配以单个星号字符开头或结尾的每一行,中间没有任何其他星号”不是更正确吗?
标签: javascript regex regex-negation