我正在尝试使用记事本++从css文件中提取图像网址。 由于所有图像网址都在圆括号内,我正在考虑使用正则表达式删除所有内容(以及之后的所有内容)。 这是一个文本示例:
text-transform:uppercase;
font-size:17px;
}
.conTxt .btnGiveAccess{
width:532px;
height:145px;
background:url(http://www.website.com/css/images/btn-give-me-access2.jpg) no-repeat center top;
margin:0 auto;
display:block;
}
.conTxt .btnGiveAccess:hover{
background:url(http://www.website.com/css/images/btn-give-me-access2.jpg) no-repeat center -145px;
}
/*#########################################*/
popup window
/*#########################################*/
/*a {
结果我不想得到以下内容:
http://www.website.com/css/images/btn-give-me-access2.jpg
http://www.website.com/css/images/btn-give-me-access2.jpg
我还尝试使用以下正则表达式删除http://
之前的所有内容^[^http]*` Also .*((.*)).*
但它没有用。有人可以帮忙吗?
答案 0 :(得分:0)
如果其中没有任何网址包含parens,您可以使用\((.*)\)
这与您在上面显示的内容之间的区别在于,使用()
\
(文字的,而不是正则表达式捕获的那些)
答案 1 :(得分:0)
对于给定的文本,以下工作。使用(\A|\))([^()]*)(\(|\Z)
的查找文字并将其替换为\r\n
。这将留下所需的文本加上一些可以轻松删除的空行,例如通过menu => 修改 => 线路运营 => 删除空行。
一个小变化是使用\1\3
的替换字符串。这将删除圆括号外的所有内容,留下括号本身和它们之间的文本。这是一个简单的工作,删除所有圆括号,也许用新行替换它们。可以使用[()]+
的查找文本并替换\r\n
的字符串来完成此操作。
第一个正则表达式的解释。捕获是:
(\A|\))
,它会查找缓冲区的开头,\A
或关闭括号。([^()]*)
查找不包含圆括号的字符序列。(\(|\Z)
查找封闭括号或缓冲区末尾\Z
。效果是寻找三种类型的文本。
(\A)([^()]*)(\(|\Z)
。(\))([^()]*)(\()
。(\))([^()]*)(\Z)
。如果有嵌套的圆括号,这可能无法完成所需的工作,但问题没有说明在这种情况下会发生什么。