首页 > 软件 > 正则表达式问题

正则表达式问题

软件 2023-07-14

正则表达式问题(需要通用)

我觉得此处不应该使用正则表达式,正则表达式最大的功能是用来匹配验证的。对于你的需求不如写一个方法,无论是用js直接前端处理还是提交给后台用其他语言处理完成之后给你返回结果都是可行的。 那么处理方法就应该是这样的: 1、验证非法字符,此处可以用正则表达式,只匹配数字和运算符号 2、将输入框中的字符串调用split方法先用“,”,再用“+”分隔,最后用“*”分隔。得到若干数组,根据数组的顺序来得到乘数和被乘数。例如第一种情况,第一次分隔后的结果为:{{100*2+200*2},{10*3+20*2},{100}},再次分隔后,结果为:{{{100*2},{200*2}},{{10*3},{20*2

JS正则表达式问题

1、字符串的组成。

字符串是由字符和空串组成的。如:‘a’可以看作,‘(空1)a(空2)’,字符串中每个字符的两边都有‘空’。注意:空串不是空格等不可见字符,不可见字符也是字符。

2、空串。

空串是一种什么都不是的存在。在正则中,可以通过量词或环视等来匹配空串。如 /a{0}/, 表示要匹配 0 个 ‘a', 也就是 “空”。

如上图所示,'abc' 这个字符串中共有4个空串。所以 'abc' = '(空1)a(空2)b(空3)c(空4)'

3、*量词 。

* 在正则中表示 0 到无穷多,所以 * 等价于 {0,}

/a*/ 等价于 /a{0,}/.

4、匹配过程。

用 a* 匹配 'a',相当于 a{0,} 匹配 '(空1)a(空2)'。

(1) 字符串的当前位置定位到 (空1)

(2) 子表达式 a{1} 匹配 字符串当前位置(空1)右边的字符 a, 匹配成功,a 被替换为 6

(3) 将字符串的当前位置定位到(空2),a{0} 成功匹配到 (空2),(空2)被替换为 6

以上是我个人的理解,不对的地方,还望指正。

正则表达式的问题

(.*?) 首先,整个正则表达式匹配的是: class为corinfo的b标签中,a标签的href属性和文本,分别捕获到分组1和分组2当中。 举例: baidu bing 两个都可以匹配,分组1(\1)分组2(\2)分别捕获到 www.baidu.com baidu www.bing.com bing 解

正则表达式问题

stringstr="我不是正确,也不是错误";
Regexreg=newRegex("^(正确|错误)$");
if(reg.IsMatch(str)){
Console.Write("匹配成功");
}

正则表达式问题?

这个正则表达式有点问题。

因为.的意思是匹配任意一个字符,所以.*就是匹配0个或多个任意字符,这显然不对。

要匹配.(小数点),应该用转义\.。而\本身也需要转义\\,所以,要匹配小数点应该用\\.,如果小数点可选,那就应该是\\.?。

所以,应将.*改成\\.?才对。

下图是一个例子(java语言):


标签:正则表达式 编程语言 信息技术 编程 Java

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18