又遇到问题了
不知道怎么处理空行问题~~
现在有如下文本:TID_FRS_BLOCKRESTORE 0xffffffff
{
IDS_TEXTCLIENT_INC_000273
}TID_MMI_DIALOG 0xffffffff
{
IDS_TEXTCLIENT_INC_000274
}TID_MMI_QUEST 0xffffffff
{
IDS_TEXTCLIENT_INC_000275
}现在要将:TID_MMI_DIALOG 0xffffffff
{
IDS_TEXTCLIENT_INC_000274
}分别独立起来,正则表达式怎么做呢?
或者如果提供"MMI_DIALOG"作为条件
怎么样将"IDS_TEXTCLIENT_INC_000274"提取出来呢?
下面是我的表达式:(?is)^TID+\s*.+\{[^{}].+\}
不知道怎么处理空行问题~~
现在有如下文本:TID_FRS_BLOCKRESTORE 0xffffffff
{
IDS_TEXTCLIENT_INC_000273
}TID_MMI_DIALOG 0xffffffff
{
IDS_TEXTCLIENT_INC_000274
}TID_MMI_QUEST 0xffffffff
{
IDS_TEXTCLIENT_INC_000275
}现在要将:TID_MMI_DIALOG 0xffffffff
{
IDS_TEXTCLIENT_INC_000274
}分别独立起来,正则表达式怎么做呢?
或者如果提供"MMI_DIALOG"作为条件
怎么样将"IDS_TEXTCLIENT_INC_000274"提取出来呢?
下面是我的表达式:(?is)^TID+\s*.+\{[^{}].+\}
解决方案 »
- 非常非常恶心的小程序!请高手帮忙!
- 当Application.OpenForms遇上notifyicon
- 就是图书管理系统
- VS
- dataGridView中的DataGridViewLinkColumn的使用问题
- 网站情况监测的问题,急死了~~~~求大家帮忙~!在线等~!!
- C# Winform应用程序与C#写的DLL间结构的传递
- 一个简单的问题,谁能告诉我这是为什么啊?
- 急!excel数据导入问题
- (急,在线)ArcGis可不可以把Shapefile发布成一个layer服务?(或者其它方式)
- C#上传一个MP3文件夹之后,如何顺序播放出来,源码最好。
- reportviewer能不能实现不预览直接打印
(?is)TID[^{}]+{(?>{(?<b>)|}(?<-b>)|.)*(?(b)(?!))}
谢了哦那如果是这种情况又怎解决呢?提供"MMI_DIALOG"作为条件
怎么样将"IDS_TEXTCLIENT_INC_000274"提取出来呢?为什么我的语句就不行呢?哪里错了?下面是我对你的语句的理解不知道有没有错呢?
匹配TID后面接除了换行符的任意字符,重复至少一遍,再次重复零到一遍,匹配“{”匹配,除了“{”或者“}”外的任何字符,重复至少一遍,再次重复零到一遍,匹配“}”
不知道(?is)是什么意思呢?
在这里?是表示什么意思?多多指教
i表示忽略大小写
s表示.可以匹配换行回车。
最好还是看看编译原理,使用状态机分析。正则比较适合规则确定的。代码的规则还是蛮复杂的。比如可以多插入空格换行,比如可以用关键字修饰,可以用c#的string,也可以用String也可以用System.String ,可以用readonly修饰,等。
怎么样将"IDS_TEXTCLIENT_INC_000274"提取出来呢?麻烦你了
稍微改进了一下刚才你的表达式有点慢
(?is)MMI_DIALOG[^{]+{\s*?(\S*)\s*?}
前面的那些不必要吧!
那就不要判断前面的了。的确多余。
一共用时:1062毫秒(1.062秒) [1000次]★表达式1:(?is)MMI_DIALOG[^{]+{\s*?(\S*)\s*?}
执行时间:16毫秒(0.016秒) 占总时间1.51%★表达式2:(?is)\w+[^{}]+?MMI_DIALOG[^{]+{\s*?(\S*)\s*?}
执行时间:1046毫秒(1.046秒) 占总时间98.49%