正则表达式-匹配所有的数字在最后
Regex - matching everything with number at the end
我有一个格式如下的输入:我们在字符串的开头有任意数量的空白,然后我们有一个数据子字符串,可以是任何东西,它以非空白字符开始和结束。在数据之后,我们再次有任意数量的空格(至少一个),一个数字和空格…
这个规格确实不准确,我不知道如何匹配它。显然,匹配开始和结束空白以及末尾的数字是相当容易的。最终的正则表达式是这样的:R("s*(X)s+([0-9]+)s*)"
,其中(X)
是匹配所有东西的东西。然而,我不确定这个(X)
应该看起来像什么。如何解决这个问题?
还有一件事-如果regex匹配整行,那么数据和最后的数字是我想要抓住的东西,所以只是找到一个数字不是一个解决方案。
澄清:在最后的正则表达式中,我想将子字符串和最终数字作为两个正则表达式组。
可以使用
^s*(S.*?)s+([0-9]+)s*$
的意义:
- 字符串
^
起始 - 任意数量的空白字符
s*
- a非空白
S
- 什么都行,但不能贪心
.*?
- 一个或多个空白字符
s+
- a号
[0-9]+
- 任意数量的空白字符
s*
- 字符串
$
结束
保持裁剪数据和数字的匹配结果
相关文章:
- 斐波那契数列部分和的最后一位数字
- 修改的选择排序,选择最大的数字,然后交换到最后
- 我必须更改我的数字最后一个数字和第一个数字,但不要使用仅带有整数或循环的函数.例如从 12345 到 52341
- 查找数组最后 3 个数字的平均值
- 如何找到由公式计算的非常大的数字的最后一位数字?
- 带有文件结束函数的 while 循环重复输出文件中的最后一个数字两次
- 递归推动POP POSTFIX计算器无法正确执行操作,只需将最后一个数字作为结果
- 代码问题.使用矢量删除相同的数字,除了它的最后一个入口
- 为什么我的代码不给最后两个数字
- C++:对数组进行排序,最后一个数字重复两次
- C++ - 查找数组中第一个和最后一个负数之间的数字
- 我不想要最后一个数字/值后面的逗号,如何删除它(c ++,循环)
- C++ - 将数字表从文件读取到 2D 数组中(仅存储最后一行)
- 仅按位运算反转(翻转)数字的最后 n 位
- 我在spoj-lastdig2中使用我的代码 - 重新访问的最后一位数字
- C++检查从文件中读取的最后内容是否是数字
- 如何获取十六进制数的最后 n 位数字
- 查找非常大的 2^n 数字的最后一位数字
- 如何删除C++中浮点数的最后一个有效数字/尾数位
- 逐行计算文件:EOF 重复最后一个数字(不能使用中断)