从右到左的文档中捕获日期

时间:2015-09-04 06:17:53

标签: regex

我正在尝试在RTL(希伯来语)文本中捕获以下格式编写的日期:

DD / MM / YYYY

DD / MM / YY

DD.MM.YY

DD.MM.YYYY

DD-MM-YY

DD-MM-YYYY

日期显示为单独的单词,或者在超级( - )之后立即显示。 在输出文本中,我想将这些文本转换为[Month DD,YYYY]格式。

所以我尝试编写以下表达式,其中#days#和#month#是替换列表:

(\b)(#days#)[\.-/](#month#)[\.-/](\d{2})[\b]
(-)(#days#)[\.-/](#month#)[\.-/](\d{2})[\b]
(\b)(#days#)[\.-/](#month#)[\.-/](\d{4})[\b]
(-)(#days#)[\.-/](#month#)[\.-/](\d{4})[\b]

使用这些公式,只捕获字符串中唯一单词的日期。所有其他日期都不是......

我在这些表达中写错了什么? 谢谢,

1 个答案:

答案 0 :(得分:0)

试试这个:

(?:-|\b)(?<day>\d{2})([-.\/])(?<month>\d{2})\2(?<year>\d{4}|\d{2})(?:-|\b)

demo

它以(?:-|\b)开头和结尾,因为我不确定你是什么意思&#39;从右到左文本。