我试图用正则表达式在|||
或|,|
分隔符上分割格式为Bananas|,|Bananas|||Bananas|Oranges|,|Bananas|||Bananas|Oranges|||Bananas|Oranges|Green Apples|,|Bananas|||Bananas|Oranges|||Bananas|Oranges|Red Apples|,|Bananas|||Bananas|Oranges|||Bananas|Oranges|Pears
的字符串。我使用的是[a-zA-Z |]+\|[,|\0]\|
,但我遇到了一个小问题:三角管分隔符被[a-zA-Z |]
字符类捕获。在正则表达式中只接受一行中的单个字符
有没有办法将[a-zA-Z |]
字符类更改为只接受一行中的一个管道字符,同时允许任何数量的其他字符? (也就是说,它应该接受accessories|batteries
但不accessories||batteries
。)
更多的例子:从原始字符串,正则表达式应该接受Bananas|Oranges|,|
或Bananas|||
,不Bananas|||Bananas|Oranges|,|
,与|[,|]|
之前的任何数量的单管分隔的名字。
这是行不通的,因为这将期待的第一个字符是一个|。但是,它应该被允许在搜索文本的任何地方。 – Kissaki 2011-04-04 22:40:06
我已经用输入字符串中更具体的接受/拒绝示例更新了问题。 – CajunLuke 2011-04-04 22:46:59
我觉得你的例子更清楚一点 - '([a-zA-Z] + \ |)+(,| \ |)\ |' – 2011-04-04 22:59:04