正则表达式问题

作者&投稿:爱凭 (若有异议请与网页底部的电邮联系)
正则表达式问题~

可以用javascript语言的正则表达式把这些数据取出来

var str='{"t1":"3724099","t2":"全家幸福BR","f18":965447,"f38":93965010978.0,"f39":5360936470.0}';
var regex=/\{"t1":"(.*?)","t2":"(.*?)","f18":(.*?),"f38":(.*?),"f39":(.*?)\}/gi;
var result;

while((result=regex.exec(str))!=null)
alert(result[1]+" "+result[2]+" "+result[3]+" "+result[4]+" "+result[5]);

运行结果
3724099 全家幸福BR 965447 93965010978.0 5360936470.0

也可以用javascript语言的JSON对象把这些数据取出来

var str='{"t1":"3724099","t2":"全家幸福BR","f18":965447,"f38":93965010978.0,"f39":5360936470.0}';
var obj=JSON.parse(str);
for(var key in obj){
alert(obj[key]);
}

运行结果
3724099
全家幸福BR
965447
93965010978.0
5360936470.0

c#测试通过。
static string regexTest()
{
string source = "今天(周二) 2和7";
string output = "";
string pattern = "(.*?) (.*?)和(.*?)";
Match m = System.Text.RegularExpressions.Regex.Match(source, pattern, RegexOptions.IgnoreCase);
for (int i = 1; i < m.Groups.Count; i++)
output += m.Groups[i].Value + " ";

return output;
}

//output 中的内容是:今天(周二) 2 7

小括号是分组的意思,
中括号具有自定义字符集合的功能。即匹配集合中的一个字符

小括号写法<a(^>)>匹配<a^>或者<a^>^>^>^>
中括号匹配<abcd>或者<ab>、<ac>、<abc\>等等。
= = = = = = = = = = = = = = = = = = = = = = = =

用中括号 [ ] 包含多个字符,可以匹配所包含的字符中的任意一个。同样,每次只能匹配其中一个。

用中括号 [^ ] 包含多个字符,构成否定格式,可以匹配所包含的字符之外的任意一个字符。

说明
正则表达式中的特殊符号,如果被包含于中括号中,则失去特殊意义,但 \ [ ] : ^ - 除外。

标准字符集合,除小数点(.)外,如果被包含于中括号中,自定义字符集合将包含该集合。
比如:[\d.\-+],将可以匹配数字,小数点和 + - 符号。(小数点和 + 号失去特殊意义)

用减号相连的 2 个普通字符,自定义字符集合将包含该范围。
比如:[\dA-Fa-f],将可以匹配 0 - 9, A - F, a - f。

很简单,要按套路出牌呀。圆括号的功能是分组,方括号才是字符集合。一定要用圆括号,可以用断言,如下:<a(?:(?!>).)+>


懂正则表达式的请进,几个简单的问题,谢谢!
前面加(?<!\\d),后面加(?!\\d),是为了避免匹配像123456中的前4位1234或后四位3456,将数字串作为整体匹配。加(?...)是为了提高效率。第二、3-32位字符的正则表达式。.{3,32} 第三、5-20位数字的正则表达式。\\d{5,20}

正则表达式问题
(?<=\\s)\\d+(?=\\s)匹配123,45678 和 87657321,即前后都有空格的数串

正则表达式匹配问题?
这需要用正则表达式分两次替换,先把字母回车换行数字替换为字母空格数字,再把数字空格字母替换为数字回车换行字母,得到的结果就是整齐的文本了.

一个正则表达式的问题
)00)-02-29)考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1...

正则表达式的问题,为什么匹配不到结果呢?
原因很简单,因为.不匹配换行符:.匹配除换行符意外的任意字符 所以,你想匹配的“任意字符”中,包含有换行符的话,可以使用一对相反的匹配来匹配任意字符,如:\\w 匹配字母或数字或下划线 \\s 匹配任意的空白符 \\d 匹配数字 \\b 匹配单词的开始或结束 \\W \\w的反义,即匹配任意...

关于正则表达式中的(?:)问题
:)是相对于()的一个概念。()的意思有两个,一个有的书上叫记忆,就是把匹配的字符保存在寄存器里,以备后用,另一个意思是分组,所以()又叫记忆分组。而(?:)只有分组的功能,分组的意思是把组内的部分看成是同一个对象对待,比如一个字符串,经常用来分割并列逻辑(就是'|')。所以分组符号...

php正则表达式的问题
2014-02-28 php 正则表达式 url匹配 7 2014-08-07 php正则表达式问题 2020-04-30 请问一PHP 正则表达式问题? 1 2010-07-01 PHP正则表达式问题 2 2012-07-16 PHP正则表达式的问题 2018-08-21 关于PHP正则表达式问题? 14 2009-01-12 一个PHP正则表达式的问题 2 2012-04-26 PHP+正则表达式的问...

python入门问题,关于正则表达式。求高手通俗解答。
pattern=r'([1-9]{1,3}(\\.[0-9]{1,3}){3})'[1-9]{1,3}表示匹配由1-9之间任意数组成的1位、2位或3位数,如1,12,123 \\.[0-9]{1,3}表示匹配1个点接由0-9之间任意数组成的1位、2位或3位数,如.1,.12,.123 (\\.[0-9]{1,3}){3}表示\\.[0-9]{1,3}的匹配...

正则表达式中,斜杠"\/" 在什么情况下需要转义?什么情况下不需要转义...
正则表达式中,斜杠 \/ 用不用转义? 斜杠如果作为匹配的一部分当然要转义了。但如果本身作为前导符如正则表达式限制符号开始结束,则不用转义。正则表达式或者 什么时候需要转义 如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就...

请假一个正则表达式的问题 (.)(?=.*\\\\1) 这个谁能详细解释一下?_百 ...
(.) 表示任意单个字符 (?=.*\\\\1) 正向肯定检查 其中:.* 表示0-多个任意字符 \\\\ 表示字符右斜杠 1 表示字符1 上面连起来。。 表示需要判断这样一个后缀 但是只取字符串的第一个字符。。

永靖县19767418625: 正则表达式问题 -
无梅单彤: 要精确匹配的话,要用到正则分组的概念的.但也看你是用什么编程语言进行正则匹配的.<br><br>最重要的是看你要进行匹配的字符串的内容<br><br>就你上面的问题,可以使用正则表达式的“贪婪与懒惰”匹配来实现,在默认情况下,正则...

永靖县19767418625: 问一个正则表达式的问题刚在书上看到的,表达式如下:[0 - 9]{1,3}(.[0 - 9]{1,3}){3},麻烦给我讲解一下 -
无梅单彤:[答案] 这似乎是要匹配一个IP地址,比如: 123.4.46.70 如果要匹配IP地址,更准确的写法应该是: [0-9]{1,3}(\.[0-9]{1,3}){3} [0-9]{1,3}:1-3位数字 \.[0-9]{1,3}:小数点.后跟1-3位数字 (...){3}:前面括号中的组合重复3次 正则表达式中: .表示“单个任意字符...

永靖县19767418625: 正则表达式问题 -
无梅单彤: 把SPC用小括号括起来,中间用或的关系处理,就行了.正则表达式:[A]{1,1}([S]{0,1}|[P]{0,1}|[C]{0,1})[0-9]{4,4}

永靖县19767418625: 正则表达式()使用问题 -
无梅单彤: 小括号有俩作用,一是改变运算优先级,二是设置成组以便\1、\2后向引用.fish不是分隔符,就是最普通的直接匹配.你这段代码的意思就是用正则式(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)来匹配1 fish 2 fish red fish blue fish.一一对应都可以看出\\d+匹配数字,\\w+匹配像red blue一样的单词.分隔符和标记不是正则表达式里的概念,所以更谈不上连用不连用的问题.不知道你是从哪里看到的? 有问题请补充

永靖县19767418625: 正则表达式问题求解,谢谢
无梅单彤: 这个正则可以匹配"今天你们有110次机会叫我哥哥"之类的字符串.基本用到的语法如下: 1.\d 匹配一个数字;等价于[0-9] 2.{2,3} 表示至少出现2次,至多出现3次(3&gt;=2) 3.(哥哥|姐姐) 可以匹配"哥哥",或者匹配"姐姐",一定要匹配...

永靖县19767418625: 正则表达式顺序问题 -
无梅单彤: 总的来说,你提供的这两个正则表达式都很有问题. 首先,你需要的正则表达式可以改成比较简单的写法:[\w\d]*(\w\d|\d\w)[\w\d]* 其次,(?=.*\\d)(?=.*[A-Za-z])这个式子的写法本身就很有问题,它匹配的是某正则表达式或是某字符后含有数字或字母而匹配时不包含,但是这某字符却没有加限定,这个前面应该还有正则表达式才对,而且,即便加了限定,理论上也匹配不到所有的组合,因为这种方法匹配时不包含?=后的内容. 综上所述,你还是试试这个吧……[\w\d]*(\w\d|\d\w)[\w\d]* 这个考虑到最极限的条件,只有前两个或最后两个字符是一字母一数字的情况也包含在内.

永靖县19767418625: 正则表达式问题
无梅单彤: 1:不能以xd2,xbb,xfd,x9b开头,并且在0到10个字符之间2:不能以字母,数字,_(下滑线),xd2,xbb,xfd,x9b开头,并且是0到3个字符

永靖县19767418625: 正则表达式的一些问题,帮忙分析下 -
无梅单彤: 第一个式子:^(0|[0-9][0-9]?|100)$ ^表示字符串的开头,|表示或,0|[0-9][0-9]?|100表示0或者[0-9][0-9]?或者100,最开始的0是多余的.[0-9][0-9]? 中[0-9]表示数字0到9任意一个字符,第二个[0-9]?后面的问号表示第二个[0-9]可以没有,所以[0-...

永靖县19767418625: 一个关于正则表达式的问题 -
无梅单彤: \d表示匹配十进制数,相当于[0-9]{6}表示数字是有六位*表示数字(因为你写的是\d*,就是数字了)可以有也可以没有,就是对位数没限制.^表示是匹配行首,$表示匹配行尾.

永靖县19767418625: 正则表达式的小问题,求大神解答,谢谢 -
无梅单彤: /;\s/g这是一个Javascript语言的正则表达式/xxx/中的/表示定界符,是分割Javascript正则表达式与Javascript正则表达式属性的边界;就是匹配字符分号本...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网