正则表达式匹配和拆分我的文本C#

时间:2017-10-26 05:50:58

标签: c# regex

我有一个具有特定模式的文本,我想使用C#中的正则表达式将其与该模式分开。

我的模式是| <Date(MM/DD/YYYY or M/D/YYYY)> <Text(Comment)>

在我的文字中,我的评论与管道标志和日期分开。我想将此文本拆分为以管道和日期开头的位置。

现在我在那里遇到的挑战可能是评论中的管道标志。我想忽略这一点,认为它是一个完整的评论。仅拆分文本以管道和日期开头。

另一件事是第一个日期不是从管道开始。目前,我正在用管道分隔文本,然后匹配以日期

开头的正则表达式

我在这里给出一些示例文本

  

7/27/2017 Rec;&#39; d 1 Juvederm Plus @ $ 550(使用20美元BD信用额) -   $ 530(V)KK | 7/25/2017 sw确认。 sl | 7/18/2017 sw - 我打来电话   她,因为我想在7月27日让她进来。她是在凌晨2点45分来的   麻醉的奶油,然后克里斯将在下午3:30注射她。黛安娜   7/17/2017康妮需要改变她的appt。从27日到10日。   她可能会提前几分钟来,像往常一样麻木。我告诉过她   她在候诊室里可以麻木的任何东西。 KM | 2017年1月12日   Connie与Numb博士和冰前联合会有关。克里斯注射了她与Juv   超并注意到:&#34; 0剩余。第一次tx&lt; glabella。 +结果。   将于7月返回面部和可能的手(Radiesse)。 | | $ 575   (juv超100美元) - 20美元BD优惠券 - 50美元(押金)= 505美元pd /签证。 |   |我发布了BD积分并更新了esales AM

     

2014/6/29谢谢伊丽莎白,没有这个价格,我付不起这些价格   groupon,因为我失业超过一年。如果价格走了   请给我知道。 |玛吉| | 2014年6月26日   我们检查了你的文书工作,你的嘴唇有3次治疗,3次   你的下巴治疗都是在groupon上完成的。我们不做groupon   因此,这些地区的当前价格如下| |唇   |单一治疗 - 99 | 3治疗 - 187.50 | 6治疗 - 375 |治疗 -   450 | | Chin |单一治疗-101 | 3治疗 - 201 | 6治疗 - 402 |   治疗 - 482 | |我希望这对你有所帮助| 2014年6月25日玛格丽特   rc - 她没有说她为什么打电话 - 对她来说她是在   我们的系统,看起来她来到了嘴唇上   还是下巴,我们不提供任何东西,但是如果她想要打电话的话   周四我们将在Allentown -eliz |中提取她的文书2012年8月28日   sw-eliz | 7/11/2012她说她是7月9日,并发送电子邮件取消   但没有收到回复,我取消了7/11的7/13 appt。没有费用 - mb

2 个答案:

答案 0 :(得分:1)

这样的事情可以解决问题:

(?:^| \| )\d{1,2}\/\d{1,2}\/\d{4}

您可以在此处播放:http://regexr.com/3h1tr

请注意,您需要在单独提供的两个块上运行此块,以使其在第二次尝试时正确匹配第一个“无管道”日期,因为^用于匹配文本的开头。

答案 1 :(得分:1)

这似乎至少适用于你的情况:

(\|)*[\s]*\d{1,2}\/\d{1,2}\/\d{4}

在这里试试: https://regex101.com/r/MChVzn/1

相关问题