我想创建以下正则表达式:
* [ * , * ] *
在哪里*
可以是任何大小的任何文本我已经尝试了以下内容:
/[*.,.*]/
但事实并非如此(如果重要的话,我将需要它用于 JavaScript)
正确文本的示例:
- 测试[1,2]
- 测试[3,测试2]
任何人都可以帮忙吗?
我想创建以下正则表达式:
* [ * , * ] *
在哪里*
可以是任何大小的任何文本我已经尝试了以下内容:
/[*.,.*]/
但事实并非如此(如果重要的话,我将需要它用于 JavaScript)
正确文本的示例:
任何人都可以帮忙吗?
尝试这个:
[^\[]*\[[^\]]*\]
^----^ anything but [
^^ - [
^----^ - anything but ]
^^ - ]
或者,您可以将整个正则表达式包装在^
其中并$
仅匹配整个字符串。
例子:
> /^[^\[]*\[[^\]]*\]$/.test("test[1,2]")
true
> /^[^\[]*\[[^\]]*\]$/.test("test[1,test2]")
true
> /^[^\[]*\[[^\]]*\]$/.test("test_wrong")
false
> /^[^\[]*\[[^\]]*\]$/.test("test[wrong")
false
/\[[^,]*,[^]]*\]/
-- opening bracket
---- non-comma
- any number of them
- comma
---- non-closing-bracket
- any number of them
-- closing bracket
/^.*\[.*,.*\].*$/
// e.g:
"my [awesome, string] of text".match(/^.*\[.*,.*\].*$/)
试试这个正则表达式:
/\S+\[\S+,\S+\]/
你也想要分组结果吗?
正如所指出的, \S 将匹配任何非空白字符,包括 , 所以这可能更好但更难阅读。
/([\w\d]+\[[\w\d]+,[\w\d]+\])/g
我添加了括号,以便您可以将其与 match 方法一起使用,以获取所有匹配项的列表。
这是你的正则表达式:
/.*\[.*,.*\].*/