expression - 正则表达式匹配星期四、星期四、星期四、星期四
问题描述
我想要一个正则表达式来匹配部分工作日名称。例如,我想匹配“Thursday”、“thurs”、“thur”或“Thu”。我试过“星期四(rsday)?”,但只匹配“星期四”和“星期四”。匹配缩写工作日的完整正则表达式会过长。我试过这个正则表达式字符串:
周一(日)?|周二(日)?|周三(周二)?|周四(周日)?|周五(日)?|周六(周三)?|周日(日)?
我的字符串如下所示:
12 月 3 日星期一下午 1:00 首映 USPHL Sk3-Red
12 月 4 日 周二 8:10pm U16 USPHL Sk3-Red
12 月 6 日星期四下午 1:00 首映 USPHL Sk3-Red
解决方案
在 Oracle 中,我会在我想选择字符串与工作日匹配的位置执行此操作。我怀疑您可以调整正则表达式以适应您的环境:
with tbl(str) as (
select '3-Dec Mon 1:00pm Premiere USPHL Sk3-Red' from dual union all
select '4-Dec Tues 8:10pm U16 USPHL Sk3-Red' from dual union all
select '6-Dec Thursday 1:00pm Premiere USPHL Sk3-Red' from dual
)
select str
from tbl
where regexp_like(str, ' (mon|tue(s)?|wed(nes)?|Thu(r)?(s)?|fri|sat(ur)?|sun)(day)? ', 'i');
推荐阅读
- jboss - 如果另一个用户正在加载页面,则 jsp 页面未加载
- python - 在循环理解中使用 open() - 获取目录中所有文件的文本内容列表
- node.js - node.js中找不到模块如何处理
- node.js - Angular Universal、服务器端渲染和观察 NodeJS 中的传出 HTTP 请求
- r - 基于映射和用户数据创建新的 tibble 列
- css - Angular 7 - 如何根据窗口大小处理两个不同的导航栏?
- docker - 在 Docker 中为 Jenkins 配置 ssh
- c# - 禁用 IntegerUpDown 控件的文本输入 - WPF
- java - Gradle 的问题。无法解析符号
- dart - setState() 仅使用 List.generate 更新