社区
C#
帖子详情
用正则表达式匹配以字符串
结尾的所有字符串,匹配字符该如何写?急!急!!急!!!
kitewgd
2006-12-17 10:47:54
请教各位大虾,用正则表达式匹配以字符串<f id=开头,以字符串</f>结尾的所有字符串,匹配字符该如何写?
...全文
3943
14
打赏
收藏
用正则表达式匹配以字符串<f id=开头,以字符串</f>结尾的所有字符串,匹配字符该如何写?急!急!!急!!!
请教各位大虾,用正则表达式匹配以字符串<f id=开头,以字符串结尾的所有字符串,匹配字符该如何写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dolfen
2006-12-18
打赏
举报
回复
以上的有一点不足,在以下这两种情况下:
1、<f id="f1">...<f>...</f>...</f>...<f id="f2">...<f>...</f>
匹配的只是第一个<f到第一个</f>,而不是第二个</f>
2、<f id= >...</f>
这种不完整的也被匹配到。
正则表达式改成这个样
<f\s+id=[^>\s]+((?:[^<]|<(?!f id=))*)</f>
可以匹配比较配对的完整的<f></f>标签对
不过还没有完全解决多重嵌套的问题,以下用depth关键字就解决了,不过有很多正则表达式引擎还没有支持,.net的Regex支持。
<f\s+id=(?>[^<>]+|\((?<DEPTH>)|\)(?<-DEPTH>))*(?(DEPTH)(?!))</f>
wumingxiaodi
2006-12-18
打赏
举报
回复
string vsPattern = @"^<f id=.*</f>$";
if(Regex.IsMatch(vsText,vsPattern,RegexOptions.IgnoreCase))
{
}
测试过,呵呵
@"^<f id=\w*</f>$" 好像 ?<f id= adsfa ></f>"这样id=后面有空格的不能匹配?
共同学习!
icefeiji
2006-12-18
打赏
举报
回复
楼上的已经解决了~
偶是臭要饭的的朋友,来混饭吃了~
liujia_0421
2006-12-18
打赏
举报
回复
MatchCollection mc = Regex.Matches(yourString, @"<f\s+id=\w*</f>", RegexOptions.IgnoreCase);
-过客-
2006-12-18
打赏
举报
回复
这主要看你的<f id=和</f>之间是否有特殊情况的存在了,如果在这之间不会出现<或<f id=这样的字符串,好多正则都可以匹配的,试下下面的
MatchCollection mc = Regex.Matches(str, "<f id=.*?</f>", RegexOptions.IgnoreCase);
mobydick
2006-12-18
打赏
举报
回复
string yourStr = ......
MatchCollection mc = Regex.Matches(yourStr, "<f\\s+id=.+?>[\\s|\\S]*?</f>", RegexOptions.IgnoreCase);
foreach(Match m in mc)
{
m.Value;
}
cancerser
2006-12-18
打赏
举报
回复
<f id=[^<]*?</f>
liujia_0421
2006-12-18
打赏
举报
回复
匹配所有:
MatchCollection mc = Regex.Matches(yourString, @"^<f id=\w*</f>$", RegexOptions.IgnoreCase);
liujia_0421
2006-12-18
打赏
举报
回复
@"^<f id=\w*</f>$"
luck0235
2006-12-17
打赏
举报
回复
MatchCollection mc = Regex.Matches(yourString, "<f id=(?<any>.+?)</f>", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
Response.Write(m.Groups["any"].Value.ToString() + "<br />");
}
wangkun9999
2006-12-17
打赏
举报
回复
今天刚写完个类似的(中间有没有字符?):
中间有字符的:
string str = "SDGS<f id=content size=XXX style='XXXXX'>DGSDGS</f>";
str = System.Text.RegularExpressions.Regex.Replace(str,"<f id=.*?>.*?</f>","$");
Response.Write(str);
中间没有字符的:
string str = "SDGS<f id=content size=XXX style='XXXXX'></f>";
str = System.Text.RegularExpressions.Regex.Replace(str,"<f id=.*?></f>","$");
Response.Write(str);
chsl918
2006-12-17
打赏
举报
回复
<f id=[^>]*>([\s\S](?!<f id=))*?</f([^>])*>
缺点是要是出现了如下的形式则出错
<f id=开头, 中间还有一个<f id=的字符,结束符</f>
xyq1986
2006-12-17
打赏
举报
回复
^(<f id=)[\w\W]*(<\/f>)$
不确定
liujia_0421
2006-12-17
打赏
举报
回复
最好能写个该类型字符串的例子来看下...
带你学会使用正则表达式
正则表达式使用单个
字符
串
来描述、
匹配
一系列符合某个句法规则的
字符
串
。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 本门课程主要讲解正则表达式的引用场景和一些基础用法,让...
正则表达式
匹配
开头
和
结尾
(^、$、[^指定
字符
])
正则表达式之
匹配
开头
和
结尾
1.
匹配
开头
和
结尾
代码 功能 ^
匹配
字符
串
开头
$
匹配
字符
串
结尾
示例1:^ 需求:
匹配
以数字
开头
的数据 import re #
匹配
以数字
开头
的数据 match_obj = re.match...
正则表达式
匹配
以指定
字符
串
开头
并且以指定
字符
串
结尾
使用
字符
串
匹配
并且开启使用
正则表达式
匹配
的模式,我们使用
匹配
字符
串
开头
和
结尾
的方式来完成
字符
串
的替换。那么我们需要
匹配
所有: 以https://
开头
的并且以.com/
结尾
的
字符
串
匹配
上述模式的...
正则表达式
匹配
以某
字符
串
开始和
结尾
的
字符
串
今天在整理MvvmCross(c# mvvm跨平台框架)文档做epub电子书时,遇到到了文字显示不太好,需要去掉指定
开头
的
字符
串
。 然后
写
了下面这个正则表达式 正则表达式 可以
匹配
下面高亮这段文本 <h1 style="box-sizing: ...
python
正则表达式
匹配
开头
_python 正则表达式,怎样
匹配
以某个
字符
串
开头
,以某个
字符
串
结尾
的情况?...
展开全部
匹配
以某个
字符
串
开头
2113,以某个
字符
串
结尾
的情5261况的正则表达式4102:^abc.*?qwe$Python正则表达式的几1653种
匹配
用法:1.测试正则表达式是否
匹配
字符
串
的全部或部分regex=ur"" #正则表达式if re.search...
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章