gpt4 book ai didi

java - 在 Java 中构造正则表达式

转载 作者:行者123 更新时间:2023-12-01 07:09:09 27 4
gpt4 key购买 nike

我已经浏览了一些关于 Java 正则表达式的在线教程,但我仍然发现构建正则表达式相当困难。

示例文本(一条推文):

@HIMYM_CBS: Barney Stinson. That Guy's Awesome

另一个示例:

Barney Stinson.  @HIMYM_CBS: That Guy's Awesome

这是一条发给 HIMYM_CBS 的推文。

我想要完成的是,给定任何推文,我想知道该推文是否发送给任何人(例如本例中的 HIMYM_CBS)。发给谁并不重要。

我的问题是:那么构建正则表达式来完成此任务的思路应该是什么?

推文存储为字符串:

String Tweet = "@HIMYM_CBS: Barney Stinson. That Guy's Awesome";

最佳答案

Twitter 用户名的长度最多为 15 个字符,以 @ 开头,并且只能包含字母、数字和下划线。

所以您要使用的正则表达式是:

(?<=\s|\A)@(\w{1,15})
^ ^ ^^ ^^^^ ^ ^ ")" ends a matching group.
| | || |||| | matches preceding expression between 1 and 15 times.
| | || |||| "\w" matches [a-zA-Z0-9_]
| | || ||| "(" begins a matching group
| | || || literal "@"
| | || | ")" ends the zero-width lookbehind assertion
| | || "\A" will match the beginning of the string
| | | "|" denotes that either this or that matches
| | "\s" matches a space character
| "(?<=" is the beginning of a zero-width lookbehind assertion

关于java - 在 Java 中构造正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17457808/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com