我找不到重复的问题。
我需要捕获period
后面跟着a space
的组。但只有那些不被这两个字符串所预示的组:Zn
和Zns
。
我测试了这个:
[^Z][^n](\.\s)
https://regex101.com/r/ARZxAV/1
还有这个
([^Z][^n]|[^Z][^n][^s])(\.\s)
https://regex101.com/r/cvEUKM/1
还有这个
(?!Zn)(\.\s)
https://regex101.com/r/IUZeso/1
在该样本上:
1) aaa. Zn. bbb
2) aaa. Zn. bbb.
3) aaa Zn. bbb.
4) aaa Zn. bbb
5) aaa Bns. bbb
6) aaa Bns. Bbb
7) aaa Zn. Aaa Bns. Bbb
8) 1
9) aaa
10) aaa.
11) aaa Abbb
12) aaa. Zns. bbb
13) aaa. Zns. bbb.
14) aaa Zns. bbb.
15) aaa Zns. bbb
如何从上面的示例中只捕获a.
、b.
和s.
(示例中的aaa.
bbb.
Bns.
组)组,不包括Zn.
和Zns.
?
样本的预期输出(粗体):
1.* Zn. BBB
1.* Zn. bbb.
- Zn.bbb.
1.锌bbb
1.**Bns.**bbb
1.Bns.Bbb
1.锌AaaBnsBbb - 1
- AAA
1.我知道了
1.阿博
1.我的天BBB
1.我的天bbb. - Zns.bbb.
- Zns. bbb
3条答案
按热度按时间8qgya5xd1#
non-regex
公式**Sheets
**:*join()
*j9per5c42#
你可以使用正则表达式和自定义函数。
模式匹配:
\b
防止部分匹配的字边界(?!Zns?\b)
负向前看,不直接向右侧AssertZn
或Zns
[a-zA-Z]+
匹配1+字符a-zA-Z\.\s
匹配.
和一个空格字符(也可以匹配一个换行符)参见regex demo。
举例来说:
new9mtju3#
这里有另一个解决方案