這個問題已經持續了很長時間。這裏是一個字符串的基我喜歡搜索會:帶有可選捕獲組和正向預測的正則表達式
aa.bb.cc
每個令牌(由標記化「」)可以被成功/隨後與零個或多個基團數組索引的:
例如aa[1].bb[2][3].cc
如果我的文本包含帶有可選數組索引的標記的確切數目的字符串,我想匹配。但是,如果我想搜索的文本包含額外的'。'和令牌,我不希望任何比賽:
例如aa[1].bb[2].cc.dd
我無法找到一個模式,其中包括帶有負先行可選數組索引組(S) - 我一直在使用(?!\.)
- 作爲該模式的最後部分。下面是我嘗試的模式之一:
((\w+)([\[\]\w]+)*\.(\w+)([\[\]\w]+)*\.(\w+)([\[\]\w]+)*)(?!\.)
如果我的搜索字符串是aa[1].bb[2][3].cc
的分組如下:
- AA [1]的.bb [2] [3] .CC
- AA
- [1]
- BB
- [2] [3]
- 立方厘米
- 無
但是,如果我的搜索字符串包含一個以上的道理,甚至只是「」,如上面說我想整場比賽的失敗。但是,搜索返回相同的匹配組。
這似乎有效,如果我改變{ 2}到{n},其中n =令牌的數量 - 1. – helmet
令牌的數量 - 1是正確的,請標記爲已解決。 –