Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式匹配重复字符串python_Python_Regex - Fatal编程技术网

正则表达式匹配重复字符串python

正则表达式匹配重复字符串python,python,regex,Python,Regex,我得到的字符串是: abc123abc123abc123 abc123 ABC123ABC123ABC123ABC123ABC123ABC123ABC123ABC123 etc(abc123的不同单位,我不知道重复的长度) 任务是提取第一个1和第一个a,最后一个c和最后一个3。是否有可能使用1个正则表达式执行此操作?如果可能,具体操作方式如何?我记录了重复单元的数量,根据这个数量,我可以用几个正则表达式执行任务,但如果可能的话,我想使用一个正则表达式。谢谢 编辑: 在真实的情况下。它更像是a:(

我得到的字符串是:

abc123abc123abc123

abc123

ABC123ABC123ABC123ABC123ABC123ABC123ABC123ABC123

etc(abc123的不同单位,我不知道重复的长度)

任务是提取第一个1和第一个a,最后一个c和最后一个3。是否有可能使用1个正则表达式执行此操作?如果可能,具体操作方式如何?我记录了重复单元的数量,根据这个数量,我可以用几个正则表达式执行任务,但如果可能的话,我想使用一个正则表达式。谢谢

编辑: 在真实的情况下。它更像是a:(a数字)bc:(a数字)1:(a数字)23:(a数字)等等,我必须捕捉第一个a数字,第一个1数字,最后一个c数字和最后一个3数字


Jeff

这是使用两个正则表达式最容易完成的<代码>“^(a)bc(1)23”和“ab(c)12(3)$”。可以合并这两个正则表达式,但正则表达式将变得非常不可读。

这是使用两个正则表达式最容易做到的<代码>“^(a)bc(1)23”和“ab(c)12(3)$”。也许可以合并这两个,但正则表达式将变得非常不可读。

我不太明白。你想找到他们的位置吗?因为如果你“提取”它们,第一个
a
与其他任何一个有何不同?在你的例子中,第一个a总是在开头,第一个1总是第四个字符,最后一个c总是右边的第四个字符,最后一个c是最后一个字符。那么为什么你需要一个正则表达式而不是x[0]、x[3]、x[-4]和x[-1]?是的,请澄清一下你的问题(预期的输入->输出,预期的字符串不匹配(如果有的话)…我不太明白。你想找到他们的位置吗?因为如果你“提取”它们,第一个
a
与其他任何一个有何不同?在你的例子中,第一个a总是在开头,第一个1总是第四个字符,最后一个c总是右边的第四个字符,最后一个c是最后一个字符。那么为什么你需要一个正则表达式而不是x[0]、x[3]、x[-4]和x[-1]?是的,请稍微澄清一下你的问题(预期的输入->输出,以及预期不匹配的字符串(如果有的话)…我看不出这是为了什么?如果OP知道他的字符串是
abc123
的重复,那么您的正则表达式将始终返回
a
1
c
3
。我在OP编辑后对答案进行了建模。我的示例不是为了文字代码,而是为了匹配OP的问题。我不明白这是为了什么?如果OP知道他的字符串是
abc123
的重复,那么您的正则表达式将始终返回
a
1
c
3
。我在OP编辑后对答案进行了建模。我的示例不是为了文字代码,而是为了匹配OP的问题。