我试图使用由'/'字符分隔的Python来分割字符串数据.问题是该字符串可能有多次出现'/'字符,但我想只使用'/'而不使用'/ /'将其拆分
例如,我试图将字符串'1\/ 2/CD'拆分为'1\/ 2'和'CD'
在正则表达式中使用负向lookbehind断言:
>>> re.split(r'(?<!\\)/', r'1\/2/CD')
['1\\/2', 'CD']
Run Code Online (Sandbox Code Playgroud)
来自文档:
Run Code Online (Sandbox Code Playgroud)(?<!...)如果字符串中的当前位置前面没有匹配,则匹配
....这被称为 负面的后观断言.与正向lookbehind断言类似,包含的模式必须仅匹配某些固定长度的字符串.以负反向断言开始的模式可以在被搜索的字符串的开头匹配.
当第一个切片为空时,这种方法有效:
>>> re.split(r'(?<!\\)/', r'/CD')
['', 'CD']
Run Code Online (Sandbox Code Playgroud)