正则表达式匹配短语并创建捕获组

马修·麦克德莫特

我正在尝试创建一个RegEx和C#模式,以匹配如下短语:

Photos of Washington DC taken by Jane Doe

捕获组的位置是“照片”,“华盛顿特区”和“简·多伊”。其他可能性是:

Videos of Austin taken by Ruby :视频,奥斯丁,红宝石

Photos of Red Bud Dogs taken by Willa Shepherd :照片,红芽狗,威拉牧羊犬

RegEx甚至有可能吗?

看来我被举报了...我是否提到我不了解RegEx?我试过:(Photo of).*?((?:[a-z][a-z]+))(Taken by)((?:[a-z][a-z]+))但是失败了。

Pietzcker团队

.*匹配任何字符串(换行符除外)。通过添加?到它(.*?),你可以告诉正则表达式引擎来匹配尽可能少的字符可能,这可能是正确的做法在这里,所以的第一个实例of,并taken by会作为您预期的子匹配的分隔符:

matchResults = Regex.Match(subjectString, "^(.*?) of (.*?) taken by (.*)");
// matchResults.Groups[1].Value contains "Photos" etc.

如果你不希望不止一个of,并taken by在你的输入,你可以改变一切.*?.*

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式“匹配”与“捕获”

来自分类Dev

正则表达式捕获:将整个匹配项包含在捕获组中

来自分类Dev

为什么我的正则表达式匹配但不捕获组?

来自分类Dev

复杂正则表达式与捕获组匹配

来自分类Dev

正则表达式:捕获组?

来自分类Dev

正则表达式捕获重复的短语

来自分类Dev

正则表达式匹配并比较捕获的组

来自分类Dev

正则表达式:捕获组中的捕获组

来自分类Dev

为什么此正则表达式也匹配非捕获组中的单词?

来自分类Dev

Vim中的正则表达式以匹配组捕获

来自分类Dev

重复正则表达式捕获组的捕获部分

来自分类Dev

正则表达式:不以短语开头的匹配行

来自分类Dev

正则表达式捕获具有完全匹配和部分匹配的子组

来自分类Dev

正则表达式由于重复捕获组而不是重复捕获组而不匹配

来自分类Dev

正则表达式匹配''php之间的短语

来自分类Dev

使正则表达式仅匹配捕获组

来自分类Dev

正则表达式以使短语与空格匹配

来自分类Dev

正则表达式匹配多个短语

来自分类Dev

正则表达式捕获一个组,但排除某些短语

来自分类Dev

正则表达式捕获:将整个匹配项包含在捕获组中

来自分类Dev

复杂正则表达式与捕获组的匹配

来自分类Dev

正则表达式,捕获组

来自分类Dev

正则表达式匹配整个单词或短语

来自分类Dev

正则表达式捕获组

来自分类Dev

正则表达式匹配并比较捕获的组

来自分类Dev

通过正则表达式捕获引号中的短语

来自分类Dev

匹配捕获的正则表达式

来自分类Dev

正则表达式匹配组

来自分类Dev

捕获组中的正则表达式捕获组