我試圖讓兩個commas.I分離的至少三個單詞分隔的三個詞迄今設法匹配兩個詞有一個逗號,正則表達式匹配由兩個逗號
/([A-z]|[0-9])(,{1})([A-z]|[0-9])/
,但我怎麼能給這個添加一個逗號和一個單詞。我試着重複同樣的操作,但沒有成功。
我試圖讓兩個commas.I分離的至少三個單詞分隔的三個詞迄今設法匹配兩個詞有一個逗號,正則表達式匹配由兩個逗號
/([A-z]|[0-9])(,{1})([A-z]|[0-9])/
,但我怎麼能給這個添加一個逗號和一個單詞。我試着重複同樣的操作,但沒有成功。
/^(?:\w+,){2,}(?:\w+)$/
這將讓你一個逗號分隔的至少3個字表([A-ZA-Z0-9 _] +)。
/^\s*(?:\w+\s*,\s*){2,}(?:\w+\s*)$/
這是第一個稍微更人性化的版本,允許單詞之間的空格。
感謝您的幫助。但是正則表達式不允許詞之間的空格like提到 – 2012-04-04 09:15:08
[我自己嘗試過。](http://www.regular-expressions.info/javascriptexample.html)你嘗試過什麼樣的例子? – Neil 2012-04-04 10:17:03
感謝this.I很滿意你給我什麼,但似乎第一個和第三個單詞之間的空間,但第二個doesnot.Foe的例子,(非常好,不壞,非常醜)不會通過驗證但是(非常好,很壞,很醜)通過驗證 – 2012-06-12 06:28:24
如果是PERL derived regex,我遇到的大多數實現都是/[^,]+(?:,[^,]+){2,}/
,它對任何至少有兩個逗號的東西進行測試,前提是逗號之間有一些逗號。 (?:)
構造允許分組而不捕獲。 {2,}
結構指定了前一組的兩個或更多匹配。在JavaScript中,你可以測試它:從性能的角度來看
/[^,]+(?:,[^,]+){2,}/.test("hello,world,whats,up,next"); // returns true
/[^,]+(?:,[^,]+){2,}/.test("hello,world"); // returns false
如果它不是派生的PERL,你可以在'(?:)'結構中沒有'?:'的地方去;但是然後你會得到抓拍,我不知道你是否想要。 – Yuval 2012-04-04 08:35:02
一些一般性建議:
請[編輯您的文章](http://meta.stackoverflow.com/editing-help)它幾乎不可讀。 – stema 2012-04-04 08:43:31
試試這個:
([a-zA-Z0-9]+)(,[a-zA-Z0-9]+){2,}
這將解決你的問題, 試試這個
([A-ZA-Z0-9],[A-ZA-Z0-9]([A-ZA-Z0-9]))
這隻會處理單個字符,例如a,b,c或1,2,3。 – 2013-09-30 13:24:02
什麼語言在這個正則表達式中? – 2012-04-04 08:25:23
你可能想要'[a-zA-Z]'而不是'[A-z]' – Yuval 2012-04-04 08:26:11
看起來像javascript,但我可能是錯的。 – Neil 2012-04-04 08:26:58