如何为除一个单词之外的任何字符定义正则表达式组?
我知道已经提出了几个类似的问题,但在复杂的正则表达式中找不到这样做的方法:
我的正则表达式如下:
...(?<Subfield7>.{1,16})(?<Subfield8>//.{1,16})?
Subfield7应匹配除两个正斜杠之外的任何内容,因为它们是下一个子字段的分隔符。
- ... abcdefghijklmnop // abcdefghijklmnop - &gt;子域7:abcde ...,子域8:// abcde ...
- ... 1.3,5-7 9/11 // abcdefghijklmnop - &gt;子域7:1.3,5-7 9/11,子域8:// abcde ...
- ... 12345 // abc // 123 // 456 - &gt;子域7:12345,子域8:// abc // 123 // 456
修改
我的目标是识别子字段7和子字段8.根据定义,子字段8以两个前导斜杠开始,但子字段7也可能包含(单个)slashses。子域7和8的长度是可变的。
答案 0 :(得分:0)
如果你想要任何没有//
的非空字符串,你可以使用
"(?!.*//).{1,16}"
匹配 / a 和 / ,与 // 或 // 或一个// b 强>
这是你想要的吗?