首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

提取以“st”、“nd”、“rd”、“th”结尾的日期,同时使用RegEx将日期与月份交换

正则表达式(RegEx)是一种用于匹配和操作文本的强大工具。在这个问题中,我们需要提取以“st”、“nd”、“rd”、“th”结尾的日期,并将日期与月份交换。下面是一个完善且全面的答案:

要提取以“st”、“nd”、“rd”、“th”结尾的日期,可以使用以下正则表达式模式进行匹配:\b(\d+)(st|nd|rd|th)\b

解析:

  • \b 表示单词边界,确保我们只匹配完整的日期单词。
  • (\d+) 匹配一个或多个数字,并将其捕获为第一个捕获组。
  • (st|nd|rd|th) 匹配以“st”、“nd”、“rd”、“th”结尾的字符串,并将其捕获为第二个捕获组。

接下来,我们需要将日期与月份交换。假设日期的格式为“dd-mm”,其中dd表示日期,mm表示月份。我们可以使用正则表达式的替换功能来实现这一点。

以下是一个示例代码(使用JavaScript):

代码语言:txt
复制
const input = "Today is the 1st and tomorrow is the 2nd.";
const pattern = /\b(\d+)(st|nd|rd|th)\b/g;

const output = input.replace(pattern, (match, day, suffix) => {
  const month = new Date().getMonth() + 1; // 获取当前月份
  return `${suffix}-${month}`;
});

console.log(output);

输出结果: "Today is the 1-8 and tomorrow is the 2-8."

在这个例子中,我们将匹配到的日期替换为“suffix-month”的格式,其中suffix是匹配到的“st”、“nd”、“rd”、“th”,而month是当前的月份。

请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行调整。

关于云计算、IT互联网领域的名词词汇,由于不能提及特定的云计算品牌商,无法给出推荐的腾讯云相关产品和产品介绍链接地址。如果您有其他问题,我将很乐意为您解答。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python基础教程 读书笔记(2)第二章 列表和元组

>>> fourth=raw_input('Year:')[3] Year: 2025 >>> fourth '5' 实例: #根据给定年月日数字形式打印出日期 >>> months=[ '...一31数字作为结尾列表 endings=['st','nd','rd']+17*['th']\ +['st','nd','rd']+7*['th']\ +['st'] year=raw_input...13 May13th2015 2.2.2分片 使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内元素。...第1个索引是需要提取部分第1个元素编号,而最后索引则是分片之后剩下部分第1个元素编号: >>> numbers=[1,2,3,4,5,6,7,8,9] >>> numbers[3:6] [4,...1.优雅捷径 假设需要访问最后3个元素(根据先前例子),那么当然可以进行显式操作: 如果分片所得部分包括序列结尾元素,那么,只需置空最后一个索引即可: >>> numbers[-3:] [7,

47920
  • PHP date_create_from_format() 函数

    规定要使用格式。...)S - 一个月中第几天英语后缀(st, nd, rd, th)F - 月份名称(January - December)M - 月份名称(Jan - Dec)m - 月份(01 - 12)n - 月份...- 重置所有字段到 Unix 纪元| - 如果所有字段都还没被解析,则重置所有字段到 Unix 纪元+ - 如果存在,字符串中尾随数据导致警告,不是错误 time 必需。规定日期/时间字符串。...(st, nd, rd, th) F - 月份名称(January - December) M - 月份名称(Jan - Dec) m - 月份(01 - 12) n - 月份(1 - 12) Y -...- 重置所有字段到 Unix 纪元 | - 如果所有字段都还没被解析,则重置所有字段到 Unix 纪元 + - 如果存在,字符串中尾随数据导致警告,不是错误 time必需。规定日期/时间字符串。

    1.2K00

    DATE_FORMAT() 函数解读【MYSQL】

    用于指定日期格式化为给定格式值,即将给出一个日期,该函数将该日期格式化为指定格式参数。..., Oct, Nov, Dec%c数字表示月份1, 2, ..., 12%D月份某天,带有后缀1st, 2nd, 3rd, 4th, ..., 31st%e月份某天,不带前导零1, 2, .....如果date参数不是一个有效日期或时间值,函数返回NULL。使用DATE_FORMAT()函数时,请确保你提供格式字符串是有效,否则可能会导致不可预测结果。...DATE_FORMAT函数来格式化time列值,只提取日期部分(即年-月-日)。...这意味着,如果有多个记录具有相同日期(但可能具有不同时间),那么它们将被视为一个组,并且对于每个组,查询只返回一行结果。

    4K32

    W3C高级算法挑战之python实现

    把常见日期格式如:YYYY-MM-DD 转换成一种更易读格式。 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 1)....记住不要显示那些可以被推测出来信息: 如果一个日期区间里结束日期开始日期相差小于一年,则结束日期就不用写年份了。月份开始和结束日期如果在同一个月,则结束日期月份就不用写了。...另外, 如果开始日期年份是当前年份,且结束日期开始日期小于一年,则开始日期年份也不用写。...", 2: "2nd", 3: "3rd", 4: "4th", 5: "5th", 6: "6th", 7: "7th", 8: "8th", 9: "9th", 10: "10th",...19th", 20: "20th", 21: "21st", 22: "22nd", 23: "23rd", 24: "24th", 25: "25th", 26: "26th"

    68540

    PHP格式化显示时间date()函数代码

    语法 date(format,timestamp); 返回整数 timestamp 按照给定格式字串而产生字符串。如果没有给出时间戳则使用本地当前时间。...N – 星期几 ISO-8601 数字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日]) S – 一个月中第几天英语序数后缀(2 个字符:stndrdth。...Fri, 12 Apr 2013 12:01:05 +0200) U – 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过秒数 同时,也可使用下列预定义常量(从...– 星期几 ISO-8601 数字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日]) S – 一个月中第几天英语序数后缀(2 个字符:stndrdth。...Fri, 12 Apr 2013 12:01:05 +0200) U – 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过秒数 同时,也可使用下列预定义常量(从

    4.1K31

    PHP格式化显示时间date()函数代码

    语法 date(format,timestamp); 返回整数 timestamp 按照给定格式字串而产生字符串。如果没有给出时间戳则使用本地当前时间。...N – 星期几 ISO-8601 数字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日]) S – 一个月中第几天英语序数后缀(2 个字符:stndrdth。...Fri, 12 Apr 2013 12:01:05 +0200) U – 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过秒数 同时,也可使用下列预定义常量(从...– 星期几 ISO-8601 数字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日]) S – 一个月中第几天英语序数后缀(2 个字符:stndrdth。...Fri, 12 Apr 2013 12:01:05 +0200) U – 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过秒数 同时,也可使用下列预定义常量(从

    4.5K20

    PHP函数之日期时间函数date()详解

    如: "00" 至 "59" S - 字尾加英文序数,二个英文字母; 如: "th","nd" t - 指定月份天数; 如: "28" 至 "31" U - 总秒数 w - 数字型星期几,如: "...J,只有小写j表示月份日期,无前导o;若需要月份带前导则使用小写d。...echo date('Y-M-j'); 2007-Feb-6 echo date('Y-F-jS'); 2007-February-6th 大写M表示月份3个缩写字符,而大写F表示月份英文全写。...(没有小写f) 大写S表示日期后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。...echo date('c'); 2007-02-06T14:24:43+00:00 小写c表示ISO8601日期日期格式为YYYY-MM-DD,用字母T来间隔日期和时间,时间格式为HH:MM:SS,时区使用格林威治标准时间

    2.7K10

    【问答】MySQL DATE_FORMAT函数怎么用?

    在我们平常使用MySQL时,有可能会对某些日期数据进行格式化,使它变为我们想要格式,此时我们就会使用 DATE_FORMAT(date,format) 函数。...) 接收两个参数: date :参数是合法日期 format : 规定日期格式,由格式标识符组成字符串,也就是你想格式化成什么样,用指定格式标识符指定你想要格式,格式标识符见下表 格式标识符...描述 %a 星期名缩写(比如 Monday 缩写为 Mon) %b 月份缩写(比如January 缩写为 Jan) %c 月份,数字形式(0,1 ... 12) %D 该月几号,带英文后缀(0th..., 1st, 2nd, 3rd, …) %d 该月几号,数字形式 (00..31) %e 该月几号,数字形式 (0..31) %f 微秒(000000..999999) %H 小时(00..23)...(0=Sunday..6=Saturday) %X 该周年份,其中周日为每周第一天, 数字形式,4位数;和%V同时使用 %x 该周年份,其中周一为每周第一天, 数字形式,4位数;和%v同时使用

    4.2K30

    正则表达式用法简介速查

    匹配单词开头 (扩展正则表达式,egrep支持) \> 匹配单词结束 (扩展正则表达式,egrep支持) ^ 匹配字符串开头 一般整段文本视为一个字符串,可以和分行匹配模式组合使用 $ 匹配字符串结尾...一般整段文本视为一个字符串,可以和分行匹配模式组合使用 \A 匹配字符串开头 同 ^,但不受分行匹配影响 \z 匹配字符串结尾 同 $,但不受分行匹配影响 (?...The 2nd email is to jane@cnblogs.com. The 3rd email is to tim.brown@initcircuit.com.cn....\w+ 匹配结果 The 1st email is to tom@initcircuit.com. The 2nd email is to jane@cnblogs.com....The 2nd email is to jane@cnblogs.com. The 3rd email is to tim.brown@initcircuit.com.cn.

    3.7K20

    MySQL日期和时间函数汇总

    (1-366) EXTRACT() 获取日期一部分 FROM_DAYS() 一天序号转化为日期 FROM_UNIXTIME() Unix时间戳格式化为日期 GET_FORMAT() 返回日期格式字符串...SEC_TO_TIME() 秒转换为“hh:mm:ss”格式 SECOND() 返回秒 (0-59) STR_TO_DATE() 字符串转换为日期 SUBDATE() 当使用三个参数调用时,和DATE_SUB...获得当前日期时间 CURDATE() “YYYY-MM-DD”或YYYYMMDD格式返回当前日期,具体取决于函数是在字符串上下文中使用还是在数字上下文中使用。...格式 描述 %a 缩写星期名 (Sun..Sat) %b 缩写月名 (Jan..Dec) %c 月, 数值 (0..12) %D 带有英文前缀月中天 (0th, 1st, 2nd, 3rd, …)...date参数指定开始日期日期时间值。expr是一个表达式,指定从开始日期加上或减去间隔值。expr被计算为一个字符串;它可以-开头表示负间隔。unit是一个关键字,指示表达式应使用单位。

    3.6K20

    细节、MYSQL_DATE_FORMAT()_函数_详解(记得收藏)

    %u 周 (00-53) 星期一是一周第一天 %V 周 (01-53) 星期日是一周第一天, %X 使用 %v 周 (01-53) 星期一是一周第一天, %x 使用 %W 星期名 %w 周天...(0=星期日, 6=星期六) %X 年,其中星期日是周第一天,4 位, %V 使用 %x 年,其中星期一是周第一天,4 位, %v 使用 %Y 年,4 位 %y 年,2 位 实例 下面的脚本使用...00, 01, . . ., 31) %e 数字形式表示月中天数( 1, 2, . . ., 31) %D 英文后缀表示月中天数( 1st, 2nd, 3rd, . . .)...在更早 MySQL 版本中,`%` 是可选月份天修饰符范围从零开始原因是,在 MySQL 3.23 中,它允许存储不完善日期值(例如 ‘2009-00-00’)。...下列修饰符可以被用在format字符串中: %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀月份日期(1st, 2nd

    2K20

    mysql日期格式转换_MySQL日期格式转换

    ) SELECT DATE_FORMAT(‘2016-01-16 22:23:00′,’%Y-%m-%d %H:%i:%s’)1 2 3 4-> Saturday January 2016 -> 16th...月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀月份日期(1st, 2nd, 3rd, 等等。)...%Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写星期名字(Sun……Sat) %d 月份天数, 数字(00……31) %e 月份天数, 数字(0……31) %m 月, 数字(...01……12) %c 月, 数字(1……12) %b 缩写月份名字(Jan……Dec) %j 一年中天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01…...(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期第一天 %u 星期(0……52), 这里星期一是星期第一天 %% 字符% ) TIME_FORMAT(time

    11.6K20
    领券