我是正则表达式的新手,但我想匹配一个字符串,直到数字开始。
所以就说我有:
EEEE1234
然后我只想提取:
EEEE
我尝试搜索,但我发现正则表达式令人困惑,我认为最好的方法是通过示例。有什么想法吗?另外,对任何正则表达式代码生成器或关于此的好的教程有任何见解吗?
也许有一点可能会有所帮助,那就是将正则表达式视为首先执行匹配操作的工具。搜索、替换和字符串拆分都是这种能力的结果。一个例子,取决于你想如何提取所需的部分:
r"^(\D+)\d*"
此正则表达式使用您以后可以引用的捕获组。
如前所述,出于学习目的,有许多资源。如果您对正则表达式的工作原理感兴趣,或者想更好地理解它们,您可能需要阅读一些关于正则语言的内容。
如果我们专门寻找字母何时遇到数字,我会做类似的事情:
re.search(r'[a-zA-Z]+(?=\d+)')
只有当它后面跟着数字时才会匹配它,但不会返回数字本身。这样你也可以避免团体,这可能是混乱的。