正则表达式:在一个字符串 javascript 中多次检查
Regex: check multiple times in one string javascript
嘿,我需要以下情况的正则表达式:
- von 08:00-12:00uhr und 12:00-22:00 uhr
- von 08:00-12:00 uhr
- von 08:00-12:00 uhr
- von 08:00-12:00
- 08:00-12:00
所以正则表达式应该像这样处理输入:
(von)?_?0?[0-23]:[00-59]_?(Uhr|uhr)?((bis)?_?0?[0-23]:[00-59]_?(Uhr|uhr))?
我尝试了很多,但在维基中阅读后的最佳匹配是:
(von)?([01]'d|2[0-3]):?([0-5]'d)$(uhr|Uhr)?((und)?(von)?([01]'d|2[0-3]):?([0-5]'d)$)
你能给我一个建议,我该如何处理这个问题吗?我测试日期格式的方式是否正确?
这
似乎有效:
(von )?([01]'d|2[0-3]):[0-5]'d-([01]'d|2[0-3]):[0-5]'d( ?uhr)?( und ([01]'d|2[0-3]):[0-5]'d-([01]'d|2[0-3]):[0-5]'d( ?uhr)?)?
由实际的空格字符匹配,'s
不仅匹配 ascii 空格,还匹配大多数类型的空格(例如制表符)。
我假设你的第一个例子是一个错误,它应该是
冯 08:00-12:00 乌尔 和 12:00-22:00 乌尔
而不是
冯 08:00-12:00 乌尔 和 12:00-22:00 乌尔
这是我想出的一个快速解决方案。不过,有一个改进的地方,使用空格字符而不是' '(空格)。
(von )?(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]-(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]( uhr)?( und (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]-(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9] uhr)?
注意:该解决方案基于投票最多的答案用于匹配 HH:MM 时间格式
这个怎么样:
/([0-2]'d:[0-5]'d'-[0-2]'d:[0-5]'d)/g
你可以在这里尝试一下:https://regex101.com/r/eD0hY1/1
你只对时代感兴趣,对吗?
相关文章:
- 可变大小的JavaScript字符串如何成为基元类型
- 如何将angularjs中的javascript字符串输出为循环数组
- 如何使用gump任务将html转换为javascript字符串
- 替换变量时,JavaScript字符串replace()不起作用
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 如何从django中的url解析javascript字符串
- 拆分javascript字符串以获得所需的值
- 使用Bootstrap'在Javascript字符串中的popover插件
- 如何替换javascript字符串中的前三个连字符
- 将JavaScript字符串转换为整数
- jquery/javascript字符串中的撇号
- 正在对java中的javascript字符串进行转义
- 如何在Javascript字符串中添加vaule
- Javascript:字符串中有效的基于数组的替换
- 具有负值的Javascript字符串.slice()
- javascript字符串替换$1(如果它是某个值)
- 将子函数的JavaScript字符串转换为实际函数
- JavaScript字符串中的换行符也保存为.txt
- 将Javascript字符串var传递给HTML href标记
- JavaScript 字符串字母和数字检查