我需要一个正则表达式来检查字符串中的每个 - 前后是否都有字母。
到目前为止我得到了这个:
(([-])?[a-zA-Z ]+[a-zA-Z]+[-]+[a-zA-Z]+[a-zA-Z ]+$|[a-zA-Z ]+$)|([a-zA-Z ])
适用于这些示例:
- 测试员
- tester_test
- 测试者_测试
它不适用于以下示例:
- 测试者_测试测试者_测试
- 测试st_te_st_te_st
最佳答案
要确保每个下划线都被字母包围,您可以使用
(?<=[a-zA-Z])_(?=[a-zA-Z])
此演示适用于您的所有输入。
这使用 positive lookbehind ( (?<=...)
) 和 lookahead ((?=...)
)。
请考虑为 Stack Overflow Regular Expressions FAQ 添加书签备查。有一个关于您可能感兴趣的环视部分,以及底部的在线测试人员列表。
关于asp.net - 重复正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083457/