This topic created in 4294 days ago, the information mentioned may be changed or developed.
"../image.aspx?id=此处为随机字符串(asdf7-sfdaa-asfdls)" width="12px"
../im.* 后面的实在木有办法了... 后来在http://deerchao.net/tutorials/regex/regex-1.htm 找了找资料... 发现$是结尾, 双引号为\*
于是 我的正则又改成了../im.*\"$ ...可还是不能只保留双引号之间的内容..
没办法了,还是要麻烦V2的热心肠了, 有什么办法, 用正则只保留第一个双引号之间的内容呢?
10 replies • 2014-09-05 17:26:08 +08:00
 |
|
1
mhycy Sep 5, 2014
正则表达式 #"\.\./image\.aspx\?id=([a-zA-Z0-9-]+)"# 或:#"\.\./image\.aspx\?id=([^"]+)"# 或:#image\.aspx\?id=([^"]+)"#
|
 |
|
2
rrfeng Sep 5, 2014
"(/im[^"]*)"
引号 非引号任意个 引号 其中 非引号任意个 可以添加一些具体的字符提高精度
|
 |
|
4
mhycy Sep 5, 2014
貌似搞错了。。是引号以内的内容啊 #("\.\./image[^"]+")# #是边界符 方括号内^是排除
|
 |
|
6
mhycy Sep 5, 2014
@ supman 不谢。。。 但如果是为了提取引号内的内容而不是提取那个随机字串的话需要把圆括号去掉。。。
|
 |
|
8
oott123 Sep 5, 2014
我猜楼主在匹配 HTML 的 img 标签。 为何不用 src="(.*?)" 就好……然后取 match[1]
|
 |
|
9
imn1 Sep 5, 2014
基础不够好 1.排除字符用[^要排除的字符],显然这里引号是排除字符 2.贪婪与非贪婪
|
 |
|
10
anson0370 Sep 5, 2014
如果要匹配的字符串里没有引号的话 那么用懒惰匹配也行 不一定需要[^"]
"(\.\./im.*?)"应该就可以 实际上单就楼主举的例子 "(.*?)" 然后取 match[1] 就好……
如果字符串里会出现 \" 这样的转义引号那可能就要这么搞一下
"(([^"]|\\")*)"
|