Python正则表达式提取变量数据时遇语法错误,求解决方法
解决正则提取的语法错误问题
首先看你的代码里的几个小问题,直接导致了语法错误:
- 代码格式问题:
import re和var = 'Thomas/Male/'写在了同一行,Python要求每条语句单独一行(除非用分号分隔,但不推荐),这会直接触发语法错误。 - Python版本的print语法差异:如果你用的是Python3,
print output.group(1)这种写法是不支持的,必须给print加上括号,写成print(output.group(1))。
你的正则表达式本身是没问题的,([\w.-]+)/([\w.-]+) 可以正确匹配到Thomas和Male这两个分组。
修正后的完整代码如下:
import re var = 'Thomas/Male/' output = re.search('([\w.-]+)/([\w.-]+)', var) if output: print(output.group(1)) # 输出 Thomas print(output.group(2)) # 输出 Male
运行这段代码就能得到你想要的两个预期输出了。如果还有其他问题,比如匹配更复杂的字符串,可以再补充说明需求~
内容的提问来源于stack exchange,提问作者dark horse
相关产品推荐
相关产品推荐

