我试过这个......
Dim myMatches As String() =
System.Text.RegularExpressions.Regex.Split(postRow.Item("Post"), "\b\#\b")
但它正在分裂所有单词,我想要一个以#
开头的单词数组谢谢!
答案 0 :(得分:4)
这似乎有用......
C#
Regex MyRegex = new Regex("\\#\\w+");
MatchCollection ms = MyRegex.Matches(InputText);
或vb.net
Dim MyRegex as Regex = new Regex("\#\w+")
Dim ms as MatchCollection = MyRegex.Matches(InputText)
给出......的输入文本。
“asdfas asdf #asdf asd fas df asd fas #df asd f asdf”
......这会产生......
“#asdf”和“#df”
我会告诉你,这不会得到一个字符串数组,但MatchCollection是可枚举的,所以可能就足够了。
此外,我还要补充一点,我通过使用Expresso得到了这个。这似乎是免费的。它非常有助于制作我非常擅长的c#。 (即它为我逃跑了。) (如果有人认为我应该删除这个伪广告,那么请评论,但我认为这可能会有所帮助:)好时光)
答案 1 :(得分:1)
由于您希望在分组中包含单词,因此您应该使用类似
的内容"\b#\w+\b"
这包括表达式中的实际单词。但是我不确定那是你想要的。你能提供一个输入和所需输出的例子吗?
答案 2 :(得分:1)
使用PHP的preg_match_all()
:
$text = 'Test #string testing #my test #text.';
preg_match_all('/#[\S]+/', $text, $matches);
echo '<pre>';
print_r($matches[0]);
echo '</pre>';
输出:
Array ( [0] => #string [1] => #my [2] => #text. )
答案 3 :(得分:0)
以下是Javascript中的代码:
text = "what #regEx can I use to #split a #string into whole words but only"
// what #regEx can I use to #split a #string into whole words but only"
text.match(/#\w+/g);
// [#regEx,#split,#string]
答案 4 :(得分:0)
在Microsoft正则表达式中,请尝试:“\#:w”
这对我来说在Visual Studio中使用Find是有用的。我不知道它将如何转化为Regex类。
编辑:反斜杠被吞没了。