正则表达式:如何拆分和替换包含数字的字符串?

米格尔·雷耶斯(Miguel Reyes)

我需要一个正则表达式*在一个单词或一组单词的开头和结尾添加一个星号(),但单独的数字除外。旁边有字母的任何数字都可以。很难解释,但是这里有一些例子:

123 Ballister 1 Block           --> 123 *Ballister* 1 *Block*

B@llister Place 123 Block N2 45 --> *B@llister Place* 123 *Block N2* 45

123 B@llister# abc              --> 123 *B@llister# abc*

我尝试过:

var sample = "@sample 22 @sample2 xyz1";
var x = sample.replace(/[^0-9 ]+/g, function(str) {
    return "*"+str.trim()+"*";
});

但它不起作用。我希望有人能帮助我。

lix药

这是一个有效的示例:

/((?!\d+\b)\S(?:\S| \D)*)/

替换字符串是

*$1*

这是一个演示

这些示例如下所示:

123 Ballister 1 Block
--> 123 *Ballister* 1 *Block*

B@llister Place 123 Block N2 45
--> *B@llister Place* 123 *Block N2* 45

123 B@llister# abc
--> 123 *B@llister# abc*

@rmani empory 123
--> *@rmani empory* 123

#1smple 22 #sample2 #xyz1
--> *#1smple* 22 *#sample2 #xyz1*

解释

我们要匹配整个单词或单词组,但要排除完全由数字组成的单词。所以...

  • ( 开始捕捉
    • (?!\d+\b) 与整个数字单词不匹配
    • \S要求使用非空格字符(因此我们不会像* def*进行匹配abc def
    • (?:\S| \D) 非空格字符或空格和非数字
    • * 零次或多次
  • ) 停止捕捉

放在一起

您可以按以下方式使用它:

var sample = "@sample 22 @sample2 xyz1";
var x = sample.replace(/((?!\d+\b)\S(?:\S| \D)*)/g, '*$1*');

现场演示:

var input = document.getElementsByTagName('input')[0],
        output = document.getElementsByTagName('span')[0];

input.onkeyup = function (elem) {
    output.innerHTML = input.value.replace(/((?!\d+\b)\S(?:\S| \D)*)/g, '*$1*');
};
<p>
    Original Text: <input />
</p>
<p>
    Replacement: <span />
</p>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python,正则表达式替换包含“/”、“(”和“)”的字符串

来自分类Dev

正则表达式搜索并替换包含正则表达式语句的变量字符串

来自分类Dev

如何使用Shell或Perl替换包含正则表达式元字符的字符串?

来自分类Dev

如何使用Shell或Perl替换包含正则表达式元字符的字符串?

来自分类Dev

Notepad ++正则表达式替换包含某些字符串

来自分类Dev

正则表达式替换包含变量的字符串

来自分类Dev

如何为包含lookbehind和lookahead的正则表达式拆分字符串

来自分类Dev

字符串数字正则表达式替换

来自分类Dev

使用PHP进行正则表达式字符串替换和拆分

来自分类Dev

正则表达式PHP拆分数字和字符串

来自分类Dev

正则表达式PHP拆分数字和字符串

来自分类Dev

使用正则表达式匹配包含数字和特殊字符的字符串

来自分类Dev

如何使用正则表达式拆分字符串以在+,-,*和符号之间进行拆分?

来自分类Dev

如何正则表达式匹配和正则表达式替换php中的字符串

来自分类Dev

正则表达式确保字符串仅包含竖线,数字和/或逗号,

来自分类Dev

我如何使用正则表达式判断字符串是否仅包含python中的数字和空格

来自分类Dev

正则表达式-如何确保字符串包含单词和数字

来自分类Dev

如何检查字符串包含字母或数字-正则表达式c#

来自分类Dev

如何使用正则表达式查找和替换字符串的开头和结尾

来自分类Dev

如何对包含$和'之类的正则表达式元字符的字符串进行grep?

来自分类Dev

正则表达式将数字字符串替换为字符串

来自分类Dev

如何使用正则表达式从字符串中提取和替换特定模式?

来自分类Dev

如何使用正则表达式分割包含“ {}”和“ []”的字符串

来自分类Dev

用正则表达式替换包装器(父)字符串,并保留内部子内容

来自分类Dev

正则表达式用数字替换十进制和整数字符串

来自分类Dev

正则表达式用数字替换十进制和整数字符串

来自分类Dev

在记事本++中,如何识别特定行并替换包含正则表达式字符的内容

来自分类Dev

Powershell - 正则表达式和拆分/替换字符

来自分类Dev

Python-使用正则表达式将数字和字母拆分为子字符串

Related 相关文章

  1. 1

    Python,正则表达式替换包含“/”、“(”和“)”的字符串

  2. 2

    正则表达式搜索并替换包含正则表达式语句的变量字符串

  3. 3

    如何使用Shell或Perl替换包含正则表达式元字符的字符串?

  4. 4

    如何使用Shell或Perl替换包含正则表达式元字符的字符串?

  5. 5

    Notepad ++正则表达式替换包含某些字符串

  6. 6

    正则表达式替换包含变量的字符串

  7. 7

    如何为包含lookbehind和lookahead的正则表达式拆分字符串

  8. 8

    字符串数字正则表达式替换

  9. 9

    使用PHP进行正则表达式字符串替换和拆分

  10. 10

    正则表达式PHP拆分数字和字符串

  11. 11

    正则表达式PHP拆分数字和字符串

  12. 12

    使用正则表达式匹配包含数字和特殊字符的字符串

  13. 13

    如何使用正则表达式拆分字符串以在+,-,*和符号之间进行拆分?

  14. 14

    如何正则表达式匹配和正则表达式替换php中的字符串

  15. 15

    正则表达式确保字符串仅包含竖线,数字和/或逗号,

  16. 16

    我如何使用正则表达式判断字符串是否仅包含python中的数字和空格

  17. 17

    正则表达式-如何确保字符串包含单词和数字

  18. 18

    如何检查字符串包含字母或数字-正则表达式c#

  19. 19

    如何使用正则表达式查找和替换字符串的开头和结尾

  20. 20

    如何对包含$和'之类的正则表达式元字符的字符串进行grep?

  21. 21

    正则表达式将数字字符串替换为字符串

  22. 22

    如何使用正则表达式从字符串中提取和替换特定模式?

  23. 23

    如何使用正则表达式分割包含“ {}”和“ []”的字符串

  24. 24

    用正则表达式替换包装器(父)字符串,并保留内部子内容

  25. 25

    正则表达式用数字替换十进制和整数字符串

  26. 26

    正则表达式用数字替换十进制和整数字符串

  27. 27

    在记事本++中,如何识别特定行并替换包含正则表达式字符的内容

  28. 28

    Powershell - 正则表达式和拆分/替换字符

  29. 29

    Python-使用正则表达式将数字和字母拆分为子字符串

热门标签

归档