请教一下关于在正则表达式@"(.*?)/([\w\d])[\w\d]* ?"是什么意思?

正则表达式@"(.*?)/([\w\d])[\w\d]* ?"是什么意思?


qq_遁去的一_1
浏览 1239回答 3
3回答

慕尼黑8549860

我们一个字符一个字符的进行分析@" 这两个字符都是匹配字符本身(.*?) 匹配任意长度的任意字符但是后面的?表示采用非贪婪模式也就是说在遇到/字符之前的位置上尽可能多的匹配而不是一直匹配到最后一个/字符([\w\d]) \w表示任意字母或数字 \d表示任意数字 所以这里的[\w\d]写的有些问题因为[]内的内容只匹配一个字符所以([\w\d])和(\w)的意义应该是一样的这个正则表达式应该可以改写为:@"(.*?)/(\w)\w* ?"

红颜莎娜

[] 是选择括住里面的字母的其中一个,比如[0-4]表示选择0,1,2,3,4中的任一个。 根据分析,上述表示的是点分十进制IP表示法,表示的是IPv4的地址。 ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) 2[0-4]\d 代表200~249 25[0-5] 代表250~255 [01]?\d\d? 代表200以下的数字(有可能两位数或三分数,所以用了?(代表出现零次或一次)) \. {3}代表重复三次(比如219.241.20.3)
打开App,查看更多内容
随时随地看视频慕课网APP