正则表达式拆分文本,忽略引号文本中定界符的出现

m0meni

在给定一组定界符(例如;和)的情况下,,我将如何处理正则表达式,我可以在这些示例中获得以下结果:

coffee, water; tea -> [coffee, water, tea]
"coffee, black;", water; tea -> ["coffee, black;", water, tea]

为了澄清,常规文本不能有空格,带引号的文本可以有空格,引号内的定界符将被忽略,所有文本都由定界符分隔。

我自己一直在进行正则表达式的实验,但是没有得到想要的结果。我还在没有先行/后顾之忧的环境中工作。关于如何实现这一点的任何想法?

用户名

这是个好方法 (?:\r?\n|[,;]|^)[^\S\r\n]*((?:(?:[^\S\r\n]*[^,;"\s])*(?:"[^"]*")?[^,;"\s]*))[^\S\r\n]*

添加了一些WSp修剪。
不错的演示在这里-> https://regex101.com/r/FsJtOE/1

捕获组1包含该元素。
一个简单的发现所有应该工作。

注意,使用Re2没有断言,但是要处理所有角落
,确实需要它们。

不幸的是,这与您使用该正则表达式引擎的距离非常近。

这将做的一件事是允许在非引用字段中使用多个单词。

可读版本

 # Validate even quotes:  ^[^"]*(?:"[^"]*"[^"]*)*$   
 # Then -> 
 # ----------------------------------------------
 # Find all:  

 (?: \r? \n | [,;] | ^ )
 [^\S\r\n]* 
 (                             # (1 start)
      (?:
           (?:
                [^\S\r\n]* 
                [^,;"\s] 
           )*
           (?: " [^"]* " )?
           [^,;"\s]*  
      )
 )                             # (1 end)
 [^\S\r\n]* 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Golang正则表达式提取2个定界符之间的文本-包括定界符

可以使用正则表达式在定界符对之间查找文本

使用带有多个定界符的正则表达式(Java / Kotlin)分割文本

在正则表达式上拆分并捕获Java中匹配的定界符表达式?

使用正则表达式分割字符串,忽略括号中出现的定界符

使用正则表达式java拆分文本

正则表达式(preg_split):如何基于定界符(不包括一对引号中的定界符)进行划分?

Python正则表达式:引号之间跳过定界符的问题

正则表达式涉及嵌套定界符/引号

如何使用Rust正则表达式拆分字符串并保留定界符?

在正则表达式上拆分而不删除定界符

使用多字符正则表达式模式进行拆分并保留定界符

使用JavaScript正则表达式拆分字符串,但保留定界符?

正则表达式拆分为某些字符并保留定界符

dart:使用正则表达式拆分字符串并包含定界符

正则表达式/ Ruby-拆分保持定界符

Java:使用正则表达式拆分字符串而不删除定界符

如何基于正则表达式条件使用定界符在VBA中拆分数组?

正则表达式未按定界符过滤

正则表达式逗号分隔定界符

重复的正则表达式定界符

正则表达式匹配定界符

正则表达式以匹配定界符之间多次出现的字符

正则表达式在python中拆分文本文件

正则表达式拆分文本。括号中带空格的特殊情况

如何使用正则表达式拆分文本,但拆分后的单词继续保留正则表达式分隔符?

在正则表达式中的引号之间跳过文本

awk中多字符定界符的非贪婪正则表达式匹配

从CSV正则表达式列中删除定界符