我是Python正则表达式的新手:
我有一个列表,我想搜索它是否包含员工姓名。在
员工姓名可以是:
- 它可以在开头加空格。在
- 其次是
- 或者后面跟着空格
- 也可以在它的末端和前面的空间
- 不区分大小写
ListSentence = ["Steve®", "steveHotel", "Rob spring", "Car Daniel", "CarDaniel","Done daniel"]
ListEmployee = ["Steve", "Rob", "daniel"]
ListSentence
的输出是:
^{pr2}$
Tags:
我不认为你需要检查所有这些情况。我想你要做的就是检查一下有没有断字。在
您可以使用
|
加入ListEmployee列表,使之成为一个或或正则表达式(也可以将其小写以表示不区分大小写),并用\b
包围以表示分词,这样应该可以:应输出:
^{pr2}$为什么要使用正则表达式?我通常建议在Python中避免使用它们-可以使用string方法。在
例如:
最终的清单就是你想要的清单。这比正则表达式要长,但它也更易于解析和维护。您可以通过各种方式使其更短(例如,组合函数中的测试,使用列表理解而不是循环),但是当您开始使用Python时,最好弄清楚发生了什么。在
首先,获取所有员工的姓名,并用
|
字符将它们连接起来,然后将字符串包装为:(?:^|\s)((?:Steve|Rob|Daniel)(?:®)?)(?=\s|$)
通过首先将所有名称连接在一起,可以避免使用fornext循环的嵌套集所带来的性能开销。在
我对python的了解还不足以提供python示例,但是在powershell中,我会这样写的
收益率
^{pr2}$相关问题 更多 >
编程相关推荐