一个字符串里大致内容如下:

!$(P05Y200003630653)
Pol_type~LIFE~~=50%
Resv_desc~列金额加上因红利分配而产生的相关利益。
Resv_desc~上表所列的现金价值不包括因红利分配而产生
Resv_desc~如有未列年度及事项,详见合同条款。
%%EOJ
!$(P05Y200003630653)
Pol_type~LIFE~~
Resv_de=80%
Resv_desc~
Resv_desc~的相关利益。
Resv_desc~如有未列
%%EOJ

想要计算以上串中,以“!$”开始,以“%%EOJ”结束,的数据对的个数。
c#中相应的正则表达式怎么写?自己没想到好的实现方法。
!$(中间部分)%%EOJ

这中间部分有以下要求:
1. 至少包含一个字符,那就涉及到[]+了
2. 使用懒惰匹配模式,找最近的%%EOJ配对。或者写一个表达式保证这个串中不包含%%EOJ的字串。

我的结束标记的每个字符都可能在开始结束标记之间的内容中出现。

自己被陷进去了,突然之间想到办法了。哈哈哈,乐死我了,人的脑子怎么这样了。那么迟钝了,但是偶尔会发光。

1. 我先把整个字符串进行一次替换,将!$替换为<url>,将%%EOJ替换为</url>。当然也可以是其他的标签,这里只是看到别人的问题,顺便引用了一下。做替换的目的关键在与将开始结束标签替换为他们之间的数据不会出现的字符,例如,<在我要处理的文件中是肯定不会出现的,这对我来说已经是足够了。

替换之后字符串成这样了:
<url>(P05Y200003630653)
Pol_type~LIFE~~=50%
Resv_desc~列金额加上因红利分配而产生的相关利益。
Resv_desc~上表所列的现金价值不包括因红利分配而产生
Resv_desc~如有未列年度及事项,详见合同条款。
</url>
<url>(P05Y200003630653)
Pol_type~LIFE~~
Resv_de=80%
Resv_desc~
Resv_desc~的相关利益。
Resv_desc~如有未列
</url>

2. 然后就可以用下面的了。呵呵呵
<url>[^<]*</url>

转载于:https://www.cnblogs.com/rgqancy/archive/2009/06/11/1501312.html

正则表达式 查找以某些字符开始 某些字符结束的匹配项 解决之道相关推荐

  1. java 正则表达式 查找数字

    正则表达式 查找数字 数字相关的常用语法: \d 数字字符匹配.等效于 [0-9]. \D 非数字字符匹配.等效于 [^0-9]. [xyz] 字符集.匹配包含的任一字符.例如,"[abc] ...

  2. python里美元怎么表示_说说 Python 正则表达式中的插入字符、美元字符

    我们可以在正则表达式的开始处使用插入符号(^),表示必须在被查找文本的开始处进行匹配.类似地,还可以在正则表达式的末尾加上美元符号( $ ),表示该字符串必须以这个正则表达式的模式结束.可以同时使用^ ...

  3. python使用正则表达式判别字符串是否以一个大写字符起始而跟随了一些小写字符

    python使用正则表达式判别字符串是否以一个大写字符起始而跟随了一些小写字符 # # Python3 code to find sequences of one upper # case lette ...

  4. java正则表达式 引用_java – 正则表达式检索引用的字符串和引用字符

    我有一种语言,它将一个字符串定义为单引号或双引号,通过加倍将字符串转义为字符串中的分隔符.例如,所有以下内容都是合法字符串: 'This isn''t easy to parse.' 'Then Jo ...

  5. 查找linux所有目录中包含字符,Linux查找目录下包含有某字符串的全部文件

    linux系统中,若是你想在当前目录下查找全部包含"phpernote"字符串的文件,能够这样输入命令:html grep -rn "phpernote" *j ...

  6. Bailian4071 查找出现了k次的字符【字符串】

    查找出现了k次的字符 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个ASCII字符串,查找字符串中,出现了k次的字符.比如,字符串"This is a good da ...

  7. js进阶正则表达式10-分组-多行匹配-正则对象的属性(小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效)(多行匹配:m)(属性使用:reg.global)...

    js进阶正则表达式10-分组-多行匹配-正则对象的属性(小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效)(多行匹配:m)(属性使用:reg.global) 一.总结 1. ...

  8. 【算法 | 实验18】在字符矩阵中查找给定字符串的所有匹配项

    文章目录 题目描述 思路分析 bug记录:"error: '>>' should be '> >' within a nested template argument ...

  9. 解决:Word需要查找两个固定字符间的字符 Word将查找到的字符全部选中

    问题描述: 1.Word需要查找两个固定字符间的字符.例如:[1].[tttttt].[nice and well]等. 2.将查找到的字符全部选中,然后复制. 解决方案: 问题1解决方案: 在Wor ...

最新文章

  1. linux的周期计划任务叫atd,linux计划任务
  2. android 补间动画重复次数,9.1.5 setRepeatCount方法:设置重复次数
  3. 学了这些技术就能轻松找到一份待遇不错的岗位
  4. sql 行转列_想要表格行转列?简单几行Python代码搞定
  5. Visual Studio 2017 针对移动开发的新特性介绍
  6. 函数 写函数时需要:1明确这个功能的结果是什么? 2这个功能实现过程中是否需要未知内容参与运算?...
  7. java super关键字_Java入门(二)下
  8. Liferay Dynamic CSS Filter方法的研究 - 总体过程
  9. Python无限播放励志语句
  10. 机器学习:数学加强(二)——条件概率、贝叶斯公式、常见分布、协方差、相关系数、切比雪夫不等式、大数定律
  11. 计算机发展史教学反思,计算机教学反思
  12. linux kvm切换器,PS2系列KVM切换器
  13. excel打不开怎么办_第52期分享:Excel大佬有哪些骚操作呢?
  14. 天池竞赛:金融风控-贷款违约预测
  15. PHP 中 GD库(以及Jpgraph库) 的配置和使用。(满屏荒唐言,一把辛酸泪)
  16. 全排列(从大到小排列)
  17. 集成高德sdk查看交通路况
  18. 深度学习OSSIM关联分析(附源码注解)
  19. 宁波计算机高考总分,盘点宁波的重高成绩单,惊人的升学数据让你想不到!
  20. Zookeeper Leader选举 源码中,发送投票,统计投票的不解

热门文章

  1. jenkins无法连接仓库:Command “/usr/bin/git ls-remote -h -- https://gitee.com/xxx.git HEAD“ returned
  2. 【CCCC】L3-009 长城 (30分),计算几何+凸包,极角排序
  3. 盈建科弹性板6计算_盈建科(300935):国内建筑结构设计软件行业的领先企业...
  4. 第八章节 文件操作一 (文件常用操作)
  5. jquery插入节点
  6. java 判断是否为cst格式_Java判断文件编码格式
  7. python访问文件被拒绝_python – uWSGI服务器日志…权限被拒绝读取文件…哪个文件?...
  8. pycharm下自建python包引入失败解决方案
  9. UVA - 699 The Falling Leaves
  10. Thread源码-----传实现了Runnable接口的类的实例给Thread的作用