标签: pattern-matching

如何使用Java避免字符串中出现"`"和"〜"符号?

我想避免使用Java在字符串中出现"`"和"〜"符号.

例如:

String:hi everyo`ne

输出:无效


字符串:嗨ev~eryone

输出:无效


字符串:大家好

输出:有效


字符串:hi ev`eryon~e

输出:无效

java regex pattern-matching

0
推荐指数
1
解决办法
80
查看次数

如何在Java中检测String中的重复单词?

可以检测字符串中重复单词的方法是什么?

例如"这是重复测试的测试消息"包含一个重复的单词测试.

这里,目标是检测String中出现的所有重复单词.

使用正则表达式对于实现目标是优选的.

java regex string duplicates pattern-matching

0
推荐指数
1
解决办法
4569
查看次数

解析电子邮件地址以获取域并进行比较

我有一个要求,在包含字段的请求中,我的其余web服务进入.

在我的web服务中,我必须检查此字段,如果验证通过,则我将请求发送给第三方服务.

验证要求:

message_from字段包含email addressas string.我必须检查domain name(之后的所有内容@)是否是roin.com

例如:abc@roin.com传球,john_mandoza@roin.com传球,john_manodza@google.com失败......

我可以使用模式匹配器或其他任何方法进行此验证吗?

我已经使用字符串解析来捕获所有内容(@),然后equalsIgnoreCase进行比较roin.com

这种字符串解析方法有效,但还有更好的方法吗?

javascript java regex string pattern-matching

0
推荐指数
1
解决办法
3847
查看次数

Perl Glob所有不以zip结尾的东西

这是在Windows上 - 我如何在perl中使用".zip"结束所有文件?

这是当前代码,并且出于此问题的目的,不可更改 - 所有可以更改的是$ pattern变量的值.

my @arr = map { glob( $_ ) } $pattern;
Run Code Online (Sandbox Code Playgroud)

另外一个问题,这段代码中map函数的用途是什么?它有效,但我不明白.

perl glob pattern-matching

0
推荐指数
1
解决办法
1538
查看次数

正则表达式JAVA一次或多次

嗨,我想尝试匹配模式的字符串

这是可能的字符串

signal CS, NS, dl: stateType := writeOrRead0; 
signal CS, pS : stateType := writeOrRead0; 
signal dS : stateType := writeOrRead0; 
Run Code Online (Sandbox Code Playgroud)

我只关心第一个结肠的模式.

但是定义的信号数量可以多于一个它可能是三个或四个,即使这是我的正则表达式

^signal\\s*(\\w+),*\\s*(\\w+)\\s*:
Run Code Online (Sandbox Code Playgroud)

它将拾取第二个两个信号,但是对于第二个信号,它会选择CS和pS,但是当我使用它时,下一个信号中的d和S

matcher.group()
Run Code Online (Sandbox Code Playgroud)

分开来

任何人都可以给我一个表达式,它将获取所有信号名称是否有一个两个或三个以上?

java regex string pattern-matching

0
推荐指数
1
解决办法
516
查看次数

当只需要一个"案例"时,如何避免"匹配并非详尽无遗"?

可能重复:
如何在Scala中禁止"匹配并非详尽!"警告

object Euler extends App {
val Max = 4000000

def p2: Int = p2(0 :: 1 :: Nil).filter(_ % 2 == 0).sum

def p2(list: List[Int]): List[Int] = {
    list match {
        case n1 :: n2 :: tail => if (Max < n1) n2 :: tail
                                 else p2(n1 + n2 :: list)
        // case _ => 0 :: 0 :: Nil // "match is not exhaustive"
    }
}   
println(p2)
}
Run Code Online (Sandbox Code Playgroud)

有人可能会给我一个例子,说明如何在没有第二种情况下使我的代码片段可编辑吗?

scala pattern-matching

0
推荐指数
2
解决办法
4375
查看次数

模式匹配功能

在Scala玩游戏时,我遇到了一些我认为应该可行的事情,但我不知道该怎么办.

我正在返回一个由给定的最小值/最大值限制的值.使用if-else语句,函数将如下所示:

def set(n: Int, min: Int, max: Int): Int = 
{
  if (n < min) return min
  if (n > max) return max
  return n
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以通过模式匹配来实现(优雅).我尝试了以下,但它在语法上是不正确的:

def set(n: Int, min: Int, max: Int): Int = n match 
{
  case (n < min) => min
  case (n > max) => max
  case _ => n
}
Run Code Online (Sandbox Code Playgroud)

我认为有一种方法可以通过混合case和if语句来实现,但是当我完成它时,我可能只是使用标准的if/else链.是否有正确的语法来做我正在尝试的事情?

syntax scala pattern-matching

0
推荐指数
1
解决办法
207
查看次数

用于匹配perl BLOCK的Perl正则表达式

如果块不相互嵌套或自身嵌套,我如何在以下语句中匹配多行块:

       if (EXPR) BLOCK
       if (EXPR) BLOCK else BLOCK
       if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
       unless (EXPR) BLOCK
       unless (EXPR) BLOCK else BLOCK
       unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
       LABEL while (EXPR) BLOCK
       LABEL while (EXPR) BLOCK continue BLOCK
       LABEL until (EXPR) BLOCK
       LABEL until (EXPR) BLOCK continue BLOCK
       LABEL for (EXPR; EXPR; EXPR) BLOCK
       LABEL foreach VAR (LIST) BLOCK
       LABEL foreach VAR (LIST) BLOCK continue BLOCK
       LABEL BLOCK continue BLOCK
Run Code Online (Sandbox Code Playgroud)

如果使用正则表达式无法做到这一点,是否有一个状态机能够这样做?

regex perl parsing pattern-matching

0
推荐指数
1
解决办法
252
查看次数

我如何*排除*

我有一个包含很多日期的数据框(数据).我希望从1970年之前删掉所有东西.我可以创建一个1970年以前的索引列表:

tmp <- which(data$data < '1970-01-01')
[1]  13446 102876 141199
Run Code Online (Sandbox Code Playgroud)

我想创建一个删除这三行的新表.就像是:

data.after.1970 <- data[!tmp, ]
Run Code Online (Sandbox Code Playgroud)

我知道我可以 1970年之后创建一个所有事件的向量,并与之匹配:

tmp <- which(data$data > '1970-01-01')
data.after.1970 <- data[tmp, ]
Run Code Online (Sandbox Code Playgroud)

但我想知道我会用什么语法来排除项目​​.

UPDATE

我终于做到了这一点:

tmp <- which(data$data > as.Date('1970-01-01'))
data.after.1970 <- data[tmp, ]
Run Code Online (Sandbox Code Playgroud)

仔细看看它.which(data$data < as.Date('1970-01-01'))得到三个结果,但nrow(data) - nrow(data.after.1970)显示我丢了45行.summary(datae$date)清除了:

summary(data$date)
        Min.      1st Qu.       Median         Mean      3rd Qu.         Max.         NA's 
"1933-07-01" "1989-01-25" "1992-07-09" "1992-05-03" "1996-06-10" "2006-09-14"         "42" 
Run Code Online (Sandbox Code Playgroud)

由于我的目标是获得第二个数据集,所以如果我排除那些日期不好的数据,我可以比较我的结果,我实际上也希望删除那些带有NA值的数据.

仍然想知道我将使用什么语法来排除一些数字向量而不是包含它.

r pattern-matching k

0
推荐指数
1
解决办法
168
查看次数

SML案例和模式匹配

我有以下函数,假设返回卡的值.我不确定Num => Num为什么会出现以下错误:

错误:规则类型不一致,早期规则排名 - >此规则排名 - > int->排名

为什么Num => Num的返回类型为rank-> int-> rank

 datatype suit = Clubs | Diamonds | Hearts | Spades
 datatype rank = Jack | Queen | King | Ace | Num of int 
 type card = suit * rank


 fun card_value (suit, rank)=
 case rank of
    Ace =>11
     | Jack =>10
     | King =>10
     | Queen =>10
     | Num => Num ;


card_value(Clubs,Ace); //calling function
Run Code Online (Sandbox Code Playgroud)

sml smlnj pattern-matching

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

pattern-matching ×10

regex ×5

java ×4

string ×3

perl ×2

scala ×2

duplicates ×1

glob ×1

javascript ×1

k ×1

parsing ×1

r ×1

sml ×1

smlnj ×1

syntax ×1