正则表达式:保留文本后的最后一个词
Regex: Keep last word after text
Tommy Hilfiger Men Teal Blue Analogue Watch TH1791293_BBD
我需要拆分它并保留最后一部分,即
TH1791293_BBD
问题是目标字符串之前的部分,即
Tommy Hilfiger Men Teal Blue Analogue Watch
可以是不同的长度。
总结:
我需要使用空格拆分文本并保留数组的最后一部分。
附加约束:
我需要在一行中完成它而不能将对象保存在变量中(像这样):
a= $e.split(" ");
output= a[a.length()-1]
欢迎解决此问题。
我刚开始使用 Parsehub 进行数据解析。
如果你只需要字符串的最后一部分作为输出,甚至不需要拆分,你可以使用以下 regex 并替换为 </code> (第一个匹配组)来实现这一点</p>
<pre><code>^.*?(?<=\s)([^\s]+)$
正则表达式实际上会在行的最后一个 space 之后查找其中没有 space 的所有内容(这是通过检查单词是否在行尾之前来完成的并通过在 space 字符上使用正前瞻)
在 java 中:string.replaceAll("^.*?(?<=\s)([^\s]+)$", "");
使用 Extract
工具,您可以使用
(\S+)$
这里,
(\S+)
- 匹配并捕获除空格以外的一个或多个字符到第 1 组
$
- 在字符串的末尾。
注意你应该使用捕获组,参见ParseHub Help Center reference:
You must use captures "()" for any text you want included in your results. Optionally, you can turn on "extract all occurrences". This will make the extract command return a list of matches.
Tommy Hilfiger Men Teal Blue Analogue Watch TH1791293_BBD
我需要拆分它并保留最后一部分,即
TH1791293_BBD
问题是目标字符串之前的部分,即
Tommy Hilfiger Men Teal Blue Analogue Watch
可以是不同的长度。
总结: 我需要使用空格拆分文本并保留数组的最后一部分。 附加约束: 我需要在一行中完成它而不能将对象保存在变量中(像这样):
a= $e.split(" "); output= a[a.length()-1]
欢迎解决此问题。 我刚开始使用 Parsehub 进行数据解析。
如果你只需要字符串的最后一部分作为输出,甚至不需要拆分,你可以使用以下 regex 并替换为 </code> (第一个匹配组)来实现这一点</p>
<pre><code>^.*?(?<=\s)([^\s]+)$
正则表达式实际上会在行的最后一个 space 之后查找其中没有 space 的所有内容(这是通过检查单词是否在行尾之前来完成的并通过在 space 字符上使用正前瞻)
在 java 中:string.replaceAll("^.*?(?<=\s)([^\s]+)$", "");
使用 Extract
工具,您可以使用
(\S+)$
这里,
(\S+)
- 匹配并捕获除空格以外的一个或多个字符到第 1 组$
- 在字符串的末尾。
注意你应该使用捕获组,参见ParseHub Help Center reference:
You must use captures "()" for any text you want included in your results. Optionally, you can turn on "extract all occurrences". This will make the extract command return a list of matches.