java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

克里希纳(Krishna M)

我想使用空格分割字符串,但不考虑双引号或单引号。

我尝试使用Regex在没有单引号或双引号引起来的情况下使用空格分割字符串,但在某些情况下失败。

Input : It is a "beautiful day"'but i' cannot "see it"

并且输出应该是

It
is
a
"beautiful day"'but i'
cannot
"see it"

上面链接中的正则表达式导致

It
is
a
"beautiful day"
'but i'
cannot
"see it"

我要"beautiful day"'but i'在一行中。

有人可以帮助我编写正确的正则表达式吗?

波希米亚风格

此正则表达式通过了您的测试:

" (?=(([^'\"]*['\"]){2})*[^'\"]*$)"

它在一个空格上分割,但仅当该空格不在引号内时,才通过使用前瞻性断言该空格后的引号是偶数来对其进行测试。

在某些情况下,这是行不通的,但是,如果您输入的内容“格式正确”(即,引号是平衡的),这将对您有用。如果引号不平衡,它仍然是可行的-您需要使用两次先行搜索-每种引号类型都使用一个。


这是一些测试代码:

String s = "It is a \"beautiful day\"'but i' cannot \"see it\"";
String[] parts = s.split(" (?=(([^'\"]*['\"]){2})*[^'\"]*$)");
for (String part : parts)
    System.out.println(part);

输出:

It
is
a
"beautiful day"'but i'
cannot
"see it"

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

来自分类Dev

Java正则表达式选择字符串中的开始和结束引号

来自分类Dev

Java正则表达式选择字符串中的开始和结束引号

来自分类Dev

如何使用正则表达式匹配单引号或双引号中的字符串

来自分类Dev

Java正则表达式使用可变空格和定界符分割字符串

来自分类Dev

根据空格在Java中拆分字符串,以空格将双引号和单引号以及以\开头的空格转义

来自分类Dev

正则表达式和Java忽略引号内的关键字和字符串

来自分类Dev

在Java中使用正则表达式匹配空格或空白字符串

来自分类Dev

在Java中使用正则表达式匹配空格或空白字符串

来自分类Dev

正则表达式提取单引号或双引号之外的字符串

来自分类Dev

正则表达式提取单引号或双引号之外的字符串

来自分类Dev

如果使用正则表达式/ Java代码在引号内进行空间分割,则忽略

来自分类Dev

分割字符串数组在Java中使用正则表达式

来自分类Dev

Java-使用正则表达式和换行符分割字符串

来自分类Dev

sed正则表达式不考虑双引号或空格

来自分类Dev

Java字符串用单词,空格和特殊字符分隔正则表达式

来自分类常见问题

分割不包含与Java中的正则表达式匹配的相邻字符的字符串

来自分类Dev

Ruby正则表达式提取单引号/双引号之间的字符串,其中可能包含转义字符

来自分类Dev

Java正则表达式用点替换CSS类字符串中的空格

来自分类Dev

Java正则表达式匹配空格或字符串开头

来自分类Dev

Java 7中的字符串拆分(非空格的正则表达式)

来自分类Dev

Java 7中的字符串拆分(非空格的正则表达式)

来自分类Dev

用Java中的正则表达式替换字符串中的空格

来自分类Dev

Java正则表达式用点替换CSS类字符串中的空格

来自分类Dev

如何在Java中构建正则表达式以检测空格或字符串结尾?

来自分类Dev

使用正则表达式捕获不带引号的双引号内的字符串

来自分类Dev

使用Java正则表达式在字符串中间查找匹配的字符串

来自分类Dev

通过在正则表达式上分割从Java中的字符串中提取数字

来自分类Dev

正则表达式在基于Java的字符串分割

Related 相关文章

  1. 1

    java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

  2. 2

    Java正则表达式选择字符串中的开始和结束引号

  3. 3

    Java正则表达式选择字符串中的开始和结束引号

  4. 4

    如何使用正则表达式匹配单引号或双引号中的字符串

  5. 5

    Java正则表达式使用可变空格和定界符分割字符串

  6. 6

    根据空格在Java中拆分字符串,以空格将双引号和单引号以及以\开头的空格转义

  7. 7

    正则表达式和Java忽略引号内的关键字和字符串

  8. 8

    在Java中使用正则表达式匹配空格或空白字符串

  9. 9

    在Java中使用正则表达式匹配空格或空白字符串

  10. 10

    正则表达式提取单引号或双引号之外的字符串

  11. 11

    正则表达式提取单引号或双引号之外的字符串

  12. 12

    如果使用正则表达式/ Java代码在引号内进行空间分割,则忽略

  13. 13

    分割字符串数组在Java中使用正则表达式

  14. 14

    Java-使用正则表达式和换行符分割字符串

  15. 15

    sed正则表达式不考虑双引号或空格

  16. 16

    Java字符串用单词,空格和特殊字符分隔正则表达式

  17. 17

    分割不包含与Java中的正则表达式匹配的相邻字符的字符串

  18. 18

    Ruby正则表达式提取单引号/双引号之间的字符串,其中可能包含转义字符

  19. 19

    Java正则表达式用点替换CSS类字符串中的空格

  20. 20

    Java正则表达式匹配空格或字符串开头

  21. 21

    Java 7中的字符串拆分(非空格的正则表达式)

  22. 22

    Java 7中的字符串拆分(非空格的正则表达式)

  23. 23

    用Java中的正则表达式替换字符串中的空格

  24. 24

    Java正则表达式用点替换CSS类字符串中的空格

  25. 25

    如何在Java中构建正则表达式以检测空格或字符串结尾?

  26. 26

    使用正则表达式捕获不带引号的双引号内的字符串

  27. 27

    使用Java正则表达式在字符串中间查找匹配的字符串

  28. 28

    通过在正则表达式上分割从Java中的字符串中提取数字

  29. 29

    正则表达式在基于Java的字符串分割

热门标签

归档