正则表达式在线翻译,正则表达式 英文

http://www.itjxue.com  2023-01-06 01:09  来源:未知  点击次数: 

帮忙翻译一下这个JS正则

首先解释\1 ,这个可能是 最难的了,表示反向匹配捕获的第一个匹配,即(\w+)

再来是看?: 例如 xy(?:abc|def) 这个形式表 匹配 xyabc 或者 xydef 等同于 xyabc|xydef

以上2 个 不太好理解,其实大多数时候也用不到

单独的 ? 表示前面的字符匹配0或者1次 相当于 {0,1},这个要知道,很多人都用

那么再从头看

(\w+)\s*\/?

即 (\w+)\s*\/{0,1},其中\/ 是一个转义的/ ,(由于js中/符号表示正则的开始和结尾,所以在js中是要转义的)

表示匹配一个 html(xml) 标签头,

或者是自带结尾的标签,例如 span 、span 或者br/、br /

(\w+)\s*\/?(?:\/\1|) 相当于 (\w+)\s*\/?\/\1|(\w+)\s*\/?

即(\w+)\s*\/?\/\1 或者 (\w+)\s*\/?

后面一种已经清楚了,

前面一种 就是说以什么开头就以这个加/ 结尾,例如span/span

我觉得这个正则写的并不好

似乎是在求空标签。

当前的表达式 会匹配 span //span 而不能匹配 span /span ,所以有缺陷

忘记了 还有个 $,是结尾符号

这个正则表达式是什么意思?在线等!!!

您打字时,输入有误吧?

[[0-9]{1,2})$')

应该是

[0-9]{1,2})$')

这个正则表达式的作用:筛选记录,该记录的 “进院日期” 字段符合下面的要求

分析:

^ 匹配字符串开头,$ 匹配字符串结尾。在本文正则表达式中匹配,以数字开头,且以数字结尾的字符串。

[0-9]{4,4}+????????????????????4位数字为一组,至少一组,或多组

[-]+????????????????????????????????连接号,至少一个,或多个

[0-9]{1,2}+? ???????????????? 1位数或2位数为一组,至少一组,或多组

[-]+????????????????????????????????连接号,至少一个,或多个

[0-9]{1,2}? ?????????????????? 1位数或2位数

括号表示将匹配的字符串保留,以便“后向引用”。

按照这个表达式,可能匹配以下例子:

2017-04-26

20172017-----12343-----45

12345678--------544899999999-----------------------00

但我觉的既然是日期,这个正则表达式的本意是匹配下面的格式:

xxxx-x-x

xxxx-x-xx

xxxx-xx-x

xxxx-xx-xx????????????如:2017-04-26

楼主提问中的正则表达式,应当修改一下,从

'^([0-9]{4,4}+[-]+[0-9]{1,2}+[-]+[0-9]{1,2})$'

改为

'^([0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$'

正则表达式怎么理解?百度百科看不懂

(from wiki)In the 1950s, mathematician Stephen Cole Kleene described these models(指自动机) using his mathematical notation called regular sets

然后再regular expression,翻译过来叫正则

-----------------------------------------------------------------

对正则的理解... 排除语法的问题,那就没问题了...

简单的说,就是让机器理解你的意图,与编程差不都,但是他只保留了精华部分,去掉了一下修饰部分。

举例来说 123abcABC 这组字符串,你想要数字部分,那你就跟计算机说,我只要数字部分,帮我提取出来。

而怎么跟他说呢,就是:[0-9]* ,意思就是说,所有 0 至 9 这的字符帮我拿出来,当然,你也可以用其它方式说,比如 所有包含 1234567890 帮我拿出来,那就这么写 [1234567890]* ,或者说,所有数字帮我拿出来 [\d]* 就这么写。

以上三个正则表达式可以得到相同的结果。

-----------------------------------------------------------------

就是让计算机理解你的意图。当然,是使用他懂的语言来告诉他你的意图。

当然,你的意图可以更复杂一些,比如 123abcABC456

你可以说把最前面的数字帮我拿出来:^[\d]* (注:此结果得到的字符是123)

或者说把最后的数字帮我拿出来:[\d]*$ (注:此结果得到的字符是456)

甚至说帮我把大写 A 字符之前的一个字符帮我拿出来:(.{1})A (注:此结果得到的字符是c)

你要做的就是怎么能让计算机听懂你说的话。

E35:No previous regular expression的翻译是:什么意思

No previous regular expression

使用空的搜索模式会引用到上次用到的模式。如果没有上一次搜索,那么就会失败。

No previous substitute regular expression

在 “:substitute” 命令里,模式里使用的 ‘~’ 字符会被替换成上次用到的模式。如果这个命令还没用过,就会失败。见 |/~|。

正则表达式

(?! 其前的表达式后面不紧连着这个表达式表示的字符串

.* 任意个任意字符

([A-K]) 字符A-K,捕获组

.* 任意个任意字符

\1 标号为1的捕获组内容

)

整个正则的意思是,字符串由A-K的字符组成,字符串长度为3,字符串中的字符不能有重复。

(责任编辑:IT教学网)

更多

推荐站内动态文章