我想創建以下正則表達式:需要一個特定的正則表達式
* [ * , * ] *
其中*
可以是任意大小 我曾嘗試以下的任何文本:
/[*.,.*]/
但不是它 (如果它很重要,我將需要它的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
試試這個正則表達式:
/\S+\[\S+,\S+\]/
你想分組的結果呢?
正如指出的,\ S將匹配任何非空白字符,包括,所以這可能會更好,但更難以閱讀。
/([\w\d]+\[[\w\d]+,[\w\d]+\])/g
我已經添加了括號,以便您可以將它與匹配方法一起用於獲取所有匹配事件的列表。
不,我只需要從這個正則表達式中得到一個字符串,而不是一組字符串,但是謝謝:) – user1322801
如果你這樣做:thing.match(re)它將返回所有匹配。如果使用'g'標誌追蹤正則表達式,使用()來分組您實際感興趣的內容將會使所有事件出現在單個字符串中。 – Craig
也會匹配'a [1,2,3]'。 – Amadan
/\[[^,]*,[^]]*\]/
-- opening bracket
---- non-comma
- any number of them
- comma
---- non-closing-bracket
- any number of them
-- closing bracket
你能給出正確的字符串的一些例子嗎? –
嘗試'/(.*)\[(.*),(.*)\](.*)/' – casraf
您的預期輸出是什麼? – NeverHopeless