java - 检查字符串是否以某种模式结尾

标签 java regex string pattern-matching

如果我有一个像这样的字符串:

This.is.a.great.place.too.work.

或者:

This/is/a/great/place/too/work/

我的程序应该告诉我这个句子是有效的并且它有“作用”。


如果我有:

This.is.a.great.place.too.work.hahahha

或者:

This/is/a/great/place/too/work/hahahah

那么我的程序不应该告诉我句子中有“作品”。


因此,我正在查看 java 字符串,以在句子末尾查找前面有 .,/ 的单词。我怎样才能实现这个目标?

最佳答案

这真的很简单,String对象有一个 endsWith方法。

从您的问题来看,您似乎想要 /. 作为分隔符集。

所以:

String str = "This.is.a.great.place.to.work.";

if (str.endsWith(".work.") || str.endsWith("/work/") || str.endsWith(",work,"))
     // ... 

您还可以使用 matches 来执行此操作方法和一个相当简单的正则表达式:

if (str.matches(".*([.,/])work\\1$"))

使用字符类 [.,/] 指定句点、斜杠或逗号,以及与替代项匹配的反向引用 \1被发现(如果有的话)。

关于java - 检查字符串是否以某种模式结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58322861/

相关文章:

javascript - 将字符串与数字匹配,但前提是数字前面有 >

php - 使用 PHP 匹配 html <body> 标签之间的所有内容

java - 可序列化对象的组合也可序列化吗?

c++ - 正则表达式匹配整个字符串

java - 如何验证 HQL 语法是否正确(不执行)?

java - 在 Java Android 应用程序中打开最后一个 fragment View

java - 从java打开cmd

java - 无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

php - 常规 exp 从字符串中获取最后一个数字

c++ - 字符串压缩和比较