首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找字符串是否以分号或单词结尾

查找字符串是否以分号或单词结尾
EN

Stack Overflow用户
提问于 2015-11-16 10:09:46
回答 3查看 885关注 0票数 0

我需要一个正则表达式来确定字符串是以分号结尾还是以“开始”或“然后”结尾。此外,在开始之前,然后单词,必须有一个空白或行中断字符。

代码语言:javascript
复制
if(strLineText.matches(";|THEN|BEGIN$"))

这对于那时和开始都是有效的,但对分号不起作用。同样地,用这个正则表达式,我无法确定当时和开始是否是确切的单词。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-16 10:11:10

你得把他们放进一个小组里。

代码语言:javascript
复制
if(strLineText.matches("(?s).*(?:;|\\bTHEN|\\bBEGIN)$"))

代码语言:javascript
复制
if(strLineText.matches("(?s).*(?:;|\\sTHEN|\\sBEGIN)$"))
票数 1
EN

Stack Overflow用户

发布于 2015-11-16 10:11:35

对于同样的情况,可以使用简单的前瞻性。

代码语言:javascript
复制
^(?=.*(?:;|[ \\n]THEN|[ \\n]BEGIN)$).*$
票数 1
EN

Stack Overflow用户

发布于 2015-11-16 10:21:11

这不是裁判官。

您也可以使用.endsWith()方法。

代码语言:javascript
复制
String str = "hey;";

if(str.endsWith(";"))
 System.out.println("Ends with a  ;");
代码语言:javascript
复制
public static boolean endsWithWord(String str, String word)
{
  return str.endsWith(word);
}
System.out.println(endsWithWord("hey;", ";"));
System.out.println(endsWithWord("umm BEGIN", "BEGIN"));
System.out.println(endsWithWord("umm THEN", "THEN"));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33732787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档