我正在做我的正式语言作业,在尝试使用regex.split(param)
处理Python Regex时遇到了一些麻烦
我有以下文字:
{q0,q1,q2,q3},{a,b},q0,{q1,q3}
必须拆分为:
["q0,q1,q2,q3", "a,b", "q0", "q1,q3"]
它总是以逗号分隔,并且包含字母数字值,可能以字母或数字开头。你知道吗
为了实现上述分离,我创建了这段非常长的代码,处理String.join()
和Array.split()
:
[x for x in ' '.join(' '.join(' '.join(args.split(',{')).split('}')).split('{')).split(' ') if x != '']
我用REGEX尝试了以下方法,但根本不起作用:
re.compile("(,{)|}|{|(},)")
它还给我:
['', None, None, 'q0,q1,q2,q3', None, None, '', ',{', None, 'a,b', None, None, ',q0', ',{', None, 'q1,q3', None, None, '']
处理所有这些伪值很容易,但是为什么它在数组中保留,{
之类的内容呢?你知道吗
您可以通过一个简单的
re.findall
立即获得所需的。(可选)在组中重复单词字符,后跟逗号,然后以更多单词字符结束:输出:
regex将在外部逗号之间找到任何内容,然后我将其从大括号中去掉(如果存在):
它也适用于ASCII字母以外的其他字符:
使用以下正则表达式:
相关问题 更多 >
编程相关推荐