正则表达式匹配字符串中的单个字符

mfcabrera

我希望正则表达式用空格替换单个字符(或删除它们)。

例如,如果我有:

" I have played u with no i and no j o o o o x w x x s"

它应该返回:

" have played with no and"

我试过了:

\s+\w{1}\s+

但是当我使用它时,我得到:

" have played with no and no o o x x s"

我想念什么吗?我认为这与某种“重叠匹配”有关。

普什莫

您的正则表达式是这样工作的:

先找到space一个字符,然后再找到另一个字符,然后space将其删除。在这种情况下,围绕一个字符的空格在测试另一个字符时无法匹配,例如

_a_b_c
^^^ -this part matches our pattern so it will be removed leaving 

b_c and now neither `b` or `c` is surrounded with spaces so they will not 
    be removed

要解决此问题,只需在match中包含一个或多个空格(或字符串的开头),然后在其后加上一个字符like即可(^|\s+)\w
另外,要确保在此字符之后留出一个空格(或字符串的末尾),但不将该空格包含在匹配项中,则可以使用像这样的先行机制(?=\s+|$)

因此,如果使用Java,请尝试

String newString = yourString.replaceAll("(^|\\s+)\\w(?=\\s+|$)","");

和在JavaScript中

var replaced = text.replace(/(^|\s+)\w(?=\s+|$)/g,"")

BTW\w可以匹配任何字符,[a-zA-Z0-9_]因此您可以将其更改为[a-zA-Z]只需要字母的字符。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么 匹配正则表达式中的每个字符串

来自分类Dev

匹配正则表达式中的整个字符串

来自分类Dev

正则表达式匹配Perl中的单个字符定界符

来自分类Dev

如何正则表达式匹配整个字符串而不是单个字符

来自分类Dev

复杂的正则表达式以匹配少于n个字符的字符串

来自分类Dev

匹配.net正则表达式中的单个字符

来自分类Dev

如何使用正则表达式将多个匹配项作为单个字符串获取

来自分类Dev

两个字符串数组之间的正则表达式匹配

来自分类Dev

正则表达式匹配文档中两个字符串之间的所有字符

来自分类Dev

Python正则表达式仅匹配整个字符串

来自分类Dev

如何用正则表达式匹配字符串中的一个或多个字符?

来自分类Dev

正则表达式匹配多个字符串

来自分类Dev

按顺序打印与正则表达式匹配的每个字符串

来自分类Dev

两个字符串之间的python正则表达式匹配

来自分类Dev

如果部分匹配正则表达式,则获取整个字符串

来自分类Dev

Javascript正则表达式匹配字符串,仅出现__个字符

来自分类Dev

如何使用单个正则表达式模式定位多个字符串

来自分类Dev

正则表达式匹配至少不包含X个字符的字符串

来自分类Dev

Python正则表达式:替换匹配项中的单个字符

来自分类Dev

如何正则表达式匹配整个字符串而不是单个字符

来自分类Dev

递归正则表达式:如何设置与字符串而不是单个字符的不匹配

来自分类Dev

如何在Perl中找到单个字符串的匹配正则表达式的位置?

来自分类Dev

如何编写正则表达式以匹配字符串中的所有单个字符?

来自分类Dev

正则表达式帮助在单个字符串中进行匹配

来自分类Dev

在perl正则表达式匹配中替换单个字符

来自分类Dev

bash中整个字符串(不是子字符串)的正则表达式匹配

来自分类Dev

正则表达式匹配 2 个字符之间的所有字符串

来自分类Dev

正则表达式匹配两个字符之间的字符串

来自分类Dev

正则表达式匹配字符串中的最后一个字符 - C#

Related 相关文章

  1. 1

    为什么 匹配正则表达式中的每个字符串

  2. 2

    匹配正则表达式中的整个字符串

  3. 3

    正则表达式匹配Perl中的单个字符定界符

  4. 4

    如何正则表达式匹配整个字符串而不是单个字符

  5. 5

    复杂的正则表达式以匹配少于n个字符的字符串

  6. 6

    匹配.net正则表达式中的单个字符

  7. 7

    如何使用正则表达式将多个匹配项作为单个字符串获取

  8. 8

    两个字符串数组之间的正则表达式匹配

  9. 9

    正则表达式匹配文档中两个字符串之间的所有字符

  10. 10

    Python正则表达式仅匹配整个字符串

  11. 11

    如何用正则表达式匹配字符串中的一个或多个字符?

  12. 12

    正则表达式匹配多个字符串

  13. 13

    按顺序打印与正则表达式匹配的每个字符串

  14. 14

    两个字符串之间的python正则表达式匹配

  15. 15

    如果部分匹配正则表达式,则获取整个字符串

  16. 16

    Javascript正则表达式匹配字符串,仅出现__个字符

  17. 17

    如何使用单个正则表达式模式定位多个字符串

  18. 18

    正则表达式匹配至少不包含X个字符的字符串

  19. 19

    Python正则表达式:替换匹配项中的单个字符

  20. 20

    如何正则表达式匹配整个字符串而不是单个字符

  21. 21

    递归正则表达式:如何设置与字符串而不是单个字符的不匹配

  22. 22

    如何在Perl中找到单个字符串的匹配正则表达式的位置?

  23. 23

    如何编写正则表达式以匹配字符串中的所有单个字符?

  24. 24

    正则表达式帮助在单个字符串中进行匹配

  25. 25

    在perl正则表达式匹配中替换单个字符

  26. 26

    bash中整个字符串(不是子字符串)的正则表达式匹配

  27. 27

    正则表达式匹配 2 个字符之间的所有字符串

  28. 28

    正则表达式匹配两个字符之间的字符串

  29. 29

    正则表达式匹配字符串中的最后一个字符 - C#

热门标签

归档