1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (c) 2023 Huawei Device Co., Ltd. 3 Licensed under the Apache License, Version 2.0 (the "License"); 4 you may not use this file except in compliance with the License. 5 You may obtain a copy of the License at 6 7 http://www.apache.org/licenses/LICENSE-2.0 8 9 Unless required by applicable law or agreed to in writing, software 10 distributed under the License is distributed on an "AS IS" BASIS, 11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 See the License for the specific language governing permissions and 13 limitations under the License. 14--> 15<Date_Time_rules> 16 <sub_rules_map> 17 <tag20002> 18 <tag20012> 19 <level>2</level> 20 <content>(([param_EEEE]|[param_E]),{0,1}[ ]*){0,1}([param_MMMM]|[param_MMM])[ ]+[regex_d]</content> 21 <content>[,.]{0,1}([ ]*[regex_y]\.{0,1}){0,1}</content> 22 </tag20012> 23 <tag40005> 24 <content>([param_MMMM]|[param_MMM])[ ]+[regex_d]\s*(-|देखि|থেকে|ngantos|tekan|na)\s*</content> 25 <content>[regex_d],{0,1}(\s*[regex_y])(\s*ж\.)?</content> 26 </tag40005> 27 </tag20002> 28 <tag20003> 29 <tag40003> 30 <content>(?<![-/.])([regex_d])\.?\s*(-|–|~|देखि|থেকে)\s*([regex_d])(?!\3)(/|-|(\.</content> 31 <content>[ ]*))([regex_m])(\6([regex_y])((\.|\s*г\.|\s*ж\.)?))?(?![-/.])</content> 32 </tag40003> 33 <tag40004> 34 <content>(?<![-/.])(([regex_y])\s*([-/]|\.)\s*)([regex_m])\s*\5\s*([regex_d])</content> 35 <content>\.?(?!\5)(\s*(-|–|~|देखि|থেকে)\s*)([regex_d])\.?(?![\.\d–~-])</content> 36 </tag40004> 37 <tag40006> 38 <content>(?<![-/.])([regex_m])([-/]|\.[ ]{0,3})([regex_d])\.?\s*(?!\3)</content> 39 <content>(-|–|~|देखि|থেকে)\s*([regex_d])\.?(?![\.\d–~-])</content> 40 </tag40006> 41 </tag20003> 42 <tag20004> 43 <tag20014> 44 <level>1</level> 45 <content>(([param_EEEE]|[param_E]),{0,1}[ ]*)?[regex_d]\s*(/|-|\.)\s*([regex_m])</content> 46 <content>(\s*\4\s*[regex_y]((\.|\s*r\.)?)){0,1}</content> 47 </tag20014> 48 <tag20015> 49 <level>3</level> 50 <content>(([param_EEEE]|[param_E]),{0,1}[ ]*)?([regex_m])\s*(/|-|\.)\s*([regex_d])</content> 51 <content>(\s*\5\s*[regex_y](\.{0,1})){0,1}</content> 52 </tag20015> 53 <tag20016> 54 <level>2</level> 55 <content>(([param_EEEE]|[param_E]),{0,1}[ ]*)?[regex_y]\s*(/|-|\.)\s*([regex_m])</content> 56 <content>\s*\5\s*[regex_d]</content> 57 </tag20016> 58 </tag20004> 59 </sub_rules_map> 60 <sub_rules> 61 <taghms> 62 <content>(?<!\d)(2[0-3]|[0-1]?[0-9])(([param_tmark])([0-5][0-9])){1,2}(?!\d)</content> 63 </taghms> 64 <tagampm> 65 <content>[param_am]|[param_pm]|\bAM\b|\bPM\b|\bnoon\b|\ba\.m\.|\bp\.m\.|[paramopt_mm]</content> 66 </tagampm> 67 <taghms2> 68 <content>(?<!\d)(1[0-2]|0?[0-9])([:.]([0-5][0-9])){1,2}(?!\d)</content> 69 </taghms2> 70 <tagd> 71 <content>(?<!\d)(30|31|[1-2][0-9]|0?[1-9])(?!\d)</content> 72 </tagd> 73 <tagy> 74 <content>(?<!\d)((20){0,1}[0-9]{2})(?!\d)</content> 75 </tagy> 76 <tagm> 77 <content>(?<!\d)(1[0-2]|0{0,1}[1-9])(?!\d)</content> 78 </tagm> 79 <tagzzzz> 80 <content>((GMT[+-])|\+)(2[0-3]|[0-1]?[0-9])(:?[0-5][0-9])?</content> 81 </tagzzzz> 82 </sub_rules> 83 <universe_rules> 84 <tag40001> 85 <content>[regex_d]\.?\s*([-–~]|देखि|থেকে|ngantos|tekan|na)\s*[regex_d](\.|([ ]+de[ ]+)|/)</content> 86 <content>{0,1}[ ]*([param_MMMM]|[param_MMM])(([ ]+de|\.|,|/|،){0,1}[ ]*[regex_y]</content> 87 <content>(\s*ж\.|\.|\s*r\.){0,1}){0,1}</content> 88 </tag40001> 89 <tag40002> 90 <content>([regex_y]\.{0,1}[ ]*)?([param_MMMM]|[param_MMM])[ ]+[regex_d](\.){0,1}\s*</content> 91 <content>([-–]|देखि|থেকে|ngantos|tekan|na)\s*[regex_d]</content> 92 </tag40002> 93 <tag20001> 94 <level>2</level> 95 <content>(([param_EEEE]|[param_E]),{0,1}[ ]*){0,1}[regex_d](\.|([ ]+de[ ]+)|/){0,1}[ ]*</content> 96 <content>([param_MMMM]|[param_MMM])(([ ]+de|\.|,|/){0,1}[ ]*[regex_y](\s*(года|г))?\.{0,1}){0,1}</content> 97 </tag20001> 98 <tag20002> 99 <content>(([param_EEEE]|[param_E])[\s\p{Punct}]*)?([param_MMMM]|[param_MMM])([\s\p{Punct}]|de)</content> 100 <content>+\d{1,2}(?!\d)\p{Punct}?(\s*-?\s*\d{1,2}(?!\d))?([\s\p{Punct}]*\d{2,4}(?!\d))?</content> 101 </tag20002> 102 <tag20003> 103 <content>(?<![-/.a-zA-Z\d])\d{1,4}(\.?\s*[-~]+\s*\d{1,2})?(/|-|(\.[ ]*))\d{1,2}(?!\d)</content> 104 <content>((/|-|(\.[ ]*))\d{1,4}(?!\d)\.?)?(\s*[-~]+\s*\d{1,2}(\.|\s*г\.)?(?!\d))?</content> 105 <content>(?![-/.a-zA-Z\d])</content> 106 </tag20003> 107 <tag20004> 108 <content>(([param_EEEE]|[param_E])[\s\p{Punct}]*)?(?<!\d)\d{1,4}\s*(/|-|\.)\s*\d{1,2}</content> 109 <content>(\s*\3\s*\d{1,4}(\s*г\.)?)?\.?(?!\d)(?!\3)</content> 110 </tag20004> 111 <tag20005> 112 <level>2</level> 113 <content>[regex_d][ ]+([param_MMMM]|[param_MMM])([ ]+(de[ ]+)?[regex_y]\.{0,1})?(\s*,)?</content> 114 <content>([ ]*([param_EEEE]|[param_E]))</content> 115 </tag20005> 116 <tag20006> 117 <level>4</level> 118 <content>(([param_EEEE]|[param_E2])(,[ ]*|[ ]+))[regex_d]\.?(?![.:]\d)</content> 119 </tag20006> 120 <tag20007> 121 <level>3</level> 122 <content>(?<!月)([regex_d]|[param_digitDay])[号日일]</content> 123 </tag20007> 124 <tag20008> 125 <level>2</level> 126 <content>([regex_y]\.{0,1}[ ]*){0,1}([param_MMMM]|[param_MMMM])[ ]+[regex_d](\.,|\.|,){0,1}</content> 127 <content>([ ]*([param_EEEE]|[param_E])){0,1}</content> 128 </tag20008> 129 <tag20009> 130 <level>4</level> 131 <content>([param_EEEE]|[param_E2])</content> 132 </tag20009> 133 <tag20010> 134 <level>4</level> 135 <content>[param_days]</content> 136 </tag20010> 137 <tag20011> 138 <level>3</level> 139 <content>([param_nextweek]|[param_thisweek])</content> 140 </tag20011> 141 <tag20013> 142 <level>4</level> 143 <content>[regex_d](号|日|일)[ ]*[((]{0,1}([param_EEEE]|[param_E])[))]{0,1}</content> 144 </tag20013> 145 <tag30001> 146 <content>([regex_hms])(\s*\(?[regex_zzzz]\)?(?![.:]?\d)){0,1}</content> 147 </tag30001> 148 </universe_rules> 149 <filter_rules> 150 <tag1> 151 <content>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}</content> 152 </tag1> 153 <tag5> 154 <content>[0-9][-0-9.,\s]+[%‰%℃度]</content> 155 </tag5> 156 <tag6> 157 <content>(?<!\d)[0-9]{1,2}\s*(-|\.|/)\s*[0-9]{1,2}(?!\d)</content> 158 </tag6> 159 <tag7> 160 <content>(?<!\d)(1[0-9]{3}|[a-z][0-9]{1,4})\s*(-|\.|/)\s*[0-9]{1,2}\s*\2\s*[0-9]{1,2}</content> 161 <content>|[0-9]{1,2}\s*(-|\.|/)\s*[0-9]{1,2}\s*\1\s*(1[0-9]{3})</content> 162 </tag7> 163 <tag8> 164 <content>[0-9]{1,2}(-[0-9]{1,2}){4}</content> 165 </tag8> 166 <tag9> 167 <content>[0-9]+\s*(일|時|时|点|點|\s+d\.|a)</content> 168 </tag9> 169 <tag10> 170 <content>([0-9]+[param_digit])\s*(号|日|일|時|时|点|點|\s+d\.)</content> 171 </tag10> 172 <tag11> 173 <content>[param_filtertext]</content> 174 </tag11> 175 <tag12> 176 <content>((GMT[+-])|(UTC[+-]))(2[0-3]|[0-1]?[0-9])(:?[0-5][0-9])?</content> 177 </tag12> 178 </filter_rules> 179 <past_rules> 180 <tag100> 181 <content>[param_pastForward]</content> 182 </tag100> 183 <tag101> 184 <content>(?<![0-9])1[0-9]{3}\s*[./-]</content> 185 </tag101> 186 </past_rules> 187 <default_locale> 188 <taglocale> 189 <content>en</content> 190 </taglocale> 191 </default_locale> 192 <pattern> 193 <tagrules> 194 <flag>False</flag> 195 <content>\[(param_\w+)\]</content> 196 </tagrules> 197 <tagoptrules> 198 <flag>False</flag> 199 <content>\[paramopt_(\w+)\]</content> 200 </tagoptrules> 201 <tagsubrules> 202 <flag>False</flag> 203 <content>\[regex_(\w+)\]</content> 204 </tagsubrules> 205 <tagdatetime> 206 <flag>True</flag> 207 <content>\s*(at|às|\u060C|u|kl\.|的|o|a\s+les|ve|la|pada|kl|στις|alle|jam)\s*</content> 208 </tagdatetime> 209 <tagperiod> 210 <flag>True</flag> 211 <content>\.?\s*(-{1,2}|~|起?至|到|au|–|—|~)\s*</content> 212 </tagperiod> 213 <tagbrackets> 214 <flag>True</flag> 215 <content>\s*\((.*?)\s*\)</content> 216 </tagbrackets> 217 </pattern> 218</Date_Time_rules>