如何仅使用正则表达式匹配单词而不匹配任何其他内容 考虑到这个词不是一个常数,它会改变,例如它可能是:
|--> word <--|
|--> game <--|
|--> play <--|
etc ...
Match match = Regex.Match(packet.Payload, @"|-->(/\b([a-z]+)\b/) <--|",
RegexOptions.IgnoreCase);
if (match.Success)
{
string capture = match.Groups[1].Value;
tcp.SendGroupTextMessage(targetId, capture);
}
这些是我正在使用的线条,它与其他一些形式一起使用,因此唯一的阻碍是将正则表达式与单词匹配并将其转换为字符串以重新发送它
到目前为止我尝试了什么:(\b([a-z]+)\b)
(/\b([a-z]+)\b/)
(\w+)
答案 0 :(得分:0)
根据您给出的示例,您可以匹配单词字符:
// Create regex to match whole word
var regex = new Regex(@"\w+");
// Test cases
Console.WriteLine(regex.Match("|--> word <--|").ToString());
Console.WriteLine(regex.Match("|--> game <--|").ToString());
Console.WriteLine(regex.Match("|--> play <--|").ToString());
输出:
字
游戏
玩
或者,您不需要正则表达式,.Replace()
和.Trim()
也可以使用:
"|--> word <--|".Replace("|-->","").Replace("<--|", "").Trim();
输出:
字
答案 1 :(得分:0)
谢谢大家,我找到了解决方案:
@"\|-->(.*)<--|"