import re
def transformrec(record):
new_record = re.sub(r"([\d-]+\,)",r"+1-\1\0", record)
search_pa=re.search(r"(\,[\d-]+\,)",record)
#print(search_pa[0])
#print(search_pa[1])
print(new_record)
print(transformrec("Sabrina Green,802-867-5309,System Administrator"))
Run Code Online (Sandbox Code Playgroud)
输出
O/P : Sabrina Green,+1-802-867-5309, System Administrator.
Run Code Online (Sandbox Code Playgroud)
在这种情况下,数字 802-867-5309 后面有一个额外的空格,
这不是一个空间,它是一个NUL
字符。从手册:
\number
匹配相同号码组的内容。组从 1 开始编号。例如,
(.+) \1
匹配'the the'
或'55 55'
,但不匹配'thethe'
(注意组后的空格)。此特殊序列只能用于匹配前 99 个组中的一个。 如果 number 的第一位为 0,或 number 为 3 个八进制位长,则不会被解释为组匹配,而是被解释为八进制值 number 的字符。在字符类的 '[' 和 ']' 内部,所有数字转义都被视为字符。
您\0
的替代品中有一个被解释为NUL
字符的。修复方法只是将其删除。
new_record = re.sub(r"([\d-]+\,)",r"+1-\1", record)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
91 次 |
最近记录: |