非常简单,但我无法让它发挥作用。
我想在连续的字符串(或一个完整的单词)中找到两个单词
示例
找到我的两个词 - "学生"和"名称"只在整个字符串中(与空格或其他单词/字符不分开)
所以在这些中找到它......
" studentname"
" studentpreferredname"
" studentgivennames"
" student_name"
"学生( ^及(及(及(&安培;&安培; ^ &安培; ^ &安培; ^ &安培; ^ &安培; ^%安培; ^%名称"
但不是在这些......
" 学生 名称"
" 学生 [多个空格] 名称"
" 学生是他们的名称"
" 学生的名称是"
"很久以前我希望这个学生有一个类似的名称 到"
我能做的唯一工作就是正则表达式:
学生*名称
但是,这会带来上面的案例,其间有各种各样的字符和单词。
谢谢
更新
见下面的答案。
这很有效。
\ bstudent \ S *名\ B'/ P>
答案 0 :(得分:0)
如果我正确理解了您的问题,那么您正在尝试匹配student
和name
之间没有空格字符。
如果是这种情况,请尝试student[^ ]*name
。 [^ ]
匹配不是空格的字符。
答案 1 :(得分:0)
正则表达式/./
中的一个点是除换行符之外的任何字符,这就是为什么它不适合你。
您可能需要使用非空白字符/\S/
,这是/[^ \t\r\n\f]/
的简化。最后,你的正则表达式应如下所示:
/student\S*name/
您可以在documentation中详细了解Ruby中的正则表达式。
答案 2 :(得分:0)
这为我解决了这个问题(来自here)。
\ bstudent \ S *名\ B'/ P>