REGEXP :查找一个特定其他字符之后的第一个字符
REGEXP : find the first character after one specific other character
这是我的问题:
我有一个类似的字符串列表:
1) mytext-othertext-01-Onemore
2) mytext1-othertext1-02-Twomore
3) mytext2-othertext2-03-Fourmore
4) ...
我正在尝试获取 ONLY 第三个 "-"-"-" 之后的 FIRST 字符] 在我的文本中所以结果将是:
1) O => because mytext-othertext-01-Onemore
2) T => because mytext1-othertext1-02-Twomore
3) F => because mytext2-othertext2-03-Fourmore
我使用正则表达式很糟糕,我认为这可能不是一个困难的问题,但我现在坚持使用它:
\-(.*)
如您所见,这将在第一个“-”之后占用整个文本
帮助解决我的问题将不胜感激。
^(?:[^-]*-){3}(.)
[^-]*-
匹配非连字符后跟连字符的序列(可能为空)。之后的{3}
匹配了3次,所以找到了第3个连字符,开头的^
使得它从字符串的开头开始匹配。捕获组 (.)
捕获下一个字符。
这是我的问题:
我有一个类似的字符串列表:
1) mytext-othertext-01-Onemore
2) mytext1-othertext1-02-Twomore
3) mytext2-othertext2-03-Fourmore
4) ...
我正在尝试获取 ONLY 第三个 "-"-"-" 之后的 FIRST 字符] 在我的文本中所以结果将是:
1) O => because mytext-othertext-01-Onemore
2) T => because mytext1-othertext1-02-Twomore
3) F => because mytext2-othertext2-03-Fourmore
我使用正则表达式很糟糕,我认为这可能不是一个困难的问题,但我现在坚持使用它:
\-(.*)
如您所见,这将在第一个“-”之后占用整个文本
帮助解决我的问题将不胜感激。
^(?:[^-]*-){3}(.)
[^-]*-
匹配非连字符后跟连字符的序列(可能为空)。之后的{3}
匹配了3次,所以找到了第3个连字符,开头的^
使得它从字符串的开头开始匹配。捕获组 (.)
捕获下一个字符。