// 年份
static string PatternYear { get; set; } = @"(<g>)?(?<Start><text.*>)(?<Year>\d{4}年?)(?<End><\/text>)(<\/g>)?"; 
// 英文月份
static string PatternEnglishMonth { get; set; } = @"(?<Start><text.*>)(?<EngMonth>[A-Za-z]{3,})(?<End></text>)";
// 数字月份
static string PatternMonthNo { get; set; } = @"(?<Start><text.*>)((?<MonthNo>\d{1,2})|(?<Month2>(0?\d|d{2})))(?<End></text>)"; 
// "阳历月" (3字母以上的英文+1至2字的数字月份)。如匹配:”Jan 1“或”February 02“等
static string PatternMonth { get; set; } = "((" + PatternEnglishMonth + @"[\r\n\t ]*" + PatternMonthNo + ")|(" + PatternMonthNo + @"[\r\n\t ]*" + PatternEnglishMonth + "))";
// "英文月" (包括全称或3字简称)。 如匹配:“JANUARY”"FEB"“MAY”等,如忽略大小写,可以匹配:”Jan“, ”JaNuary“, ”May“, ”October“等。
static string PatternEngMonthName { get; set; } = @"((JAN(UARY)?|MA(R(CH)?|Y)|JUL(Y)?|AUG(EST)?|OCT(OBER)?|DEC(EMBER)?))|(SEPT|NOV|DEC)(EMBER)?|FEB(RUARY)?|APR(IL)?|JU((LY?)|(NE?))";
//阳历日期
static string PatternDate { get; set; } = @"(<g>)?(?<Start><text.*>)(?<Date>\d{1,2})(?<End><\/text>)(<\/g>)?";
//“干支”,如匹配:丙辰
static string PatternGanZhi { get; set; } = @"(?<Start><text[^>].*>)(?<GanZhi>[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}[年月日]?[^<]*)(?<End></text>)";
//“生肖年”。如匹配:“牛年”“虎”等。
static string PatternAnimal { get; set; } = @"<text[^>].*>[鼠牛虎兔龙蛇马未㺅鸡狗猪]{1}年?.*<\/text>"; //<text[^>].*>[鼠牛虎兔龙蛇马未㺅鸡狗猪]{1}年?.*<\/text>
//“简称英文星期”
static string PatternWeekName { get; set; } = @"(?<Start><text.*>)(?<WeekName>[\s\t ]*[A-Z]{2,3})(?<End>[\s\t ]*</text>)";
//“简称英文星期+中文序号”。匹配:“SUN日”“MO一”等。
static string PatternWeekCnName { get; set; } = @"(?<Start><text.*>[\s\t]*)(?<WeekCnName>[A-Z]{2,3}[\s\t\ ]*[日一二三四五六]{1})(?<End>[\s\t\ ]*</text>)";
//“农历年+农历月”。匹配:“壬寅年   丁丑月”等
static string PatternLuarYearMonth { get; set; } = @"(?<Start><text.*>[\s\t]*)(?<LuarYearMonth>[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}年?[\s\t]*[\[\{\(\(\{\[\【]?[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}月?[\s\t\r\n ]*[\]\}\)\)\}\]\】]?)(?<End>[\s\t\r\n\ ]*</text>)";
//“农历年+农历月”(含text标签)。匹配类似:“甲寅年  戊辰月”
static string PatternFullLuarYearMonth { get; set; } = @"(?<Start><text.*>[\s\t]*)(?<LuarYear>[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}年?)[\s\t\r\n ]*(?<LuarMonth>[\[\{\(\(\{\[\【]?[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}月?[\s\t\r\n ]*[\]\}\)\)\}\]\】]?)(?<End>[\s\t\r\n]*</text>)";
//“农历年+生肖”(纯文字)。匹配:“壬寅【虎】”"丁丑(羊)"“甲辰{龙}”等。
static string PatternYearAnimal { get; set; } = @"(?<Start><text.*>[\s\t]*)(?<LuarYear>[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}年?)[\s\t]*[{【\{\[(\(](?<Animal>[鼠牛虎兔龙蛇马未㺅鸡狗猪]{1}年?)[】\}\]\))}](?<End>[\s\t\r\n]*</text>)";
//“农历年+生肖年”(含text标签)。如匹配:“壬寅年【虎年】”,“丁丑  (牛)”等
static string PatternFullYearAnimal { get; set; } = @"(?<Start><text.*>[\s\t]*)(?<LuarYear>[甲乙丙丁戊己庚辛壬癸]{1}[子丑寅卯辰巳午未申酉戌亥]{1}年?)[\s\t\r\n ]*[【\{\[(\(](?<Animal>[鼠牛虎兔龙蛇马未㺅鸡狗猪]{1}年?)[】\}\]\))](?<End>[\s\t\r\n]*</text>)";
//“农历日”
static string PatternLuarDate { get; set; } = @"(?<Start><text.*>[\s\t]*)(?<LuarDate>[初一二三四五六七八九十廿]{2})(?<End>[\s\t]*</text>)";

为方便使用,不加序号,用加粗字代表标题。

SVG中年月日相关的表达式相关推荐

  1. 一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势...

    在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势.目的及注意事项.那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的 ...

  2. c语言中条件编译相关的预编译指令

     一. 内容概述 本文主要介绍c语言中条件编译相关的预编译指令,包括#define.#undef.#ifdef.#ifndef.#if.#elif.#else.#endif.defined. 二. ...

  3. ubuntu安装jdk语句_JDK 12:实际中的切换语句/表达式

    ubuntu安装jdk语句 我的上一篇文章" 玩JDK 12的Switch表达式 "讨论了使用JDK 12 Early Access Builds尝试JEP 325 switch ...

  4. JDK 12:实际中的切换语句/表达式

    我的上一篇文章" 玩JDK 12的Switch表达式 "讨论了如何使用JDK 12 Early Access Builds尝试JEP 325 switch 表达式和语句,并提供了一 ...

  5. python defaultdict函数_Python中defaultdict与lambda表达式用法

    这篇文章主要介绍了Python中defaultdict与lambda表达式用法,在这里分享给大家,需要的朋友可以参考下 本文实例讲述了Python中defaultdict与lambda表达式用法.分享 ...

  6. 【转】CSS和SVG中的剪切——clip-path属性和clipPath元素

    本文由大漠根据SaraSoueidan的<Clipping in CSS and SVG – The clip-path Property and <clipPath> Elemen ...

  7. 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势

    在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势.目的及注意事项.那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的 ...

  8. 正则表达式及其在Java和Python中的相关操作

    1.PCRE表达式全集1 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符(有^$()*+?.[\{|共计12个)或一个向后引用或一个八进制转义符 ^ 匹配输入字符串的开始位置 $ 匹配 ...

  9. svg添加html控件,SVG中嵌入HTML元素

    .clsfont{ border:1px solid #ccc;background:#fff;line-height:37px;color:#999;font-size:14px;text-alig ...

最新文章

  1. 看!清华网红自行车成精了:拥有“类人脑芯片”,可无人驾驶!
  2. 2.34模型--简单字符串查找(占位).c
  3. msvc 编译路径_Colmap编译教程
  4. Pytorch 网络模型的保存与读取
  5. git checkout -b mybranch和git checkout mybranch
  6. 李宏毅老师机器学习和深度学习
  7. AcWing 201. 可见的点
  8. java foward_java 中sendredirect()和forward()方法的区别
  9. vue 调用c++_electron-vue跨平台桌面应用开发实战教程(七)——ffi调用C++(macOS平台)...
  10. 阿里巴巴编码规范(java)考核
  11. 正则 - 纳税人识别号
  12. 六年级计算机信息技术教案反思,小学六年级信息技术教学反思.doc
  13. python批量合并mp4视频
  14. 《NLP汉语自然语言处理原理与实践》郑捷书中代码
  15. 彩虹Ds网手机商城系统模板源码
  16. 如何破解自如的反爬机制
  17. Warning: Failed prop type: Invalid prop `enablesReturnKeyAutomatically` of type `string` supplie
  18. 锐龙r97900参数 r9 7900功耗 r9 7900核显性能
  19. linux自定义刷新率,Linux下设置其分辨率及刷新率
  20. [Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context 论文解读

热门文章

  1. Python神经网络编程 | 专场送书活动
  2. asp.net core webAPI学习笔记(三)资源请求
  3. 吃货贴 | 「咸、甜、辣」如何影响肠道菌群?
  4. 【Python】办公篇-《极客Python之效率革命》(小甲鱼) 笔记一
  5. 开启mongodb数据库命令行_MongoDB服务启动命令及DB创建
  6. 写一封给36岁沈阳出生女性名字叫植瑶的人一封情书
  7. 【ADS867x】14 位 500kSPS 4/8 通道 ADC 简介及驱动应用示例
  8. selenium如何接管(控制)已打开Chrome浏览器
  9. CRMEB 商城订单发货功能
  10. 浏览器缓存知识+JS实现缓存