在第n个管道字符出现后匹配子字符串的正则表达式

Ram*_*esh 8 java regex

我正在尝试为下面的示例文本构建一个正则表达式,我需要替换粗体文本.到目前为止,我可以实现这一点 ((\|)).*(\|),即选择第一个和最后一个pip char之间的整个字符串.我一定会使用apache或java正则表达式.

示例字符串:管道之间的文本长度可能不同

1.1|ProvCM|111111111111|**10.15.194.25**|10.100.10.3|10.100.10.1|docsis3.0
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 14

要在nth发生管道后匹配部分,您可以使用此正则表达式:

/^(?:[^|]*\|){3}([^|]*)/
Run Code Online (Sandbox Code Playgroud)

这里n = 3

它将10.15.194.25在匹配的组#1中匹配

RegEx演示