标签: string-matching

strpos - 用户代理部分匹配

我正在尝试根据用户代理检测 2 部不同的手机。

我使用了 strpos 但我的代码在两部手机上都输出“其他手机”。

$ua = $_SERVER['HTTP_USER_AGENT']; 


$phone1 = "SM-G900F";
$phone2 = "GT-I9505";


if(strpos($phone1,$ua)!==false){
 echo "gs 5";
 }

elseif (strpos($phone2,$ua)!==false){
 echo "gs 4";
} else {
  echo "other phone";
}
Run Code Online (Sandbox Code Playgroud)

php string-matching strpos

-1
推荐指数
1
解决办法
569
查看次数

Perl:index() 不适用于 $array[$i] 之类的变量

我有两个数组,一个包含来自错误日志的长字符串,第二个包含单词列表。我需要查找,其中一个词是否与任何错误字符串匹配。我想使用 index()。

我所拥有的是:@park 是一整页,一行一行。我剪下第 1 行并将其放入 $err1 @omit 是从文件中读取的单词列表。包含“Kein Zugriffsrecht”、“约束违反”等内容。我从数组中逐行获取(用 处理chomp())并将其放入 $fehler。

while (@park){
    my $i = $#park;
    $zeile1 = splice (@park,$i,1);
    @foo1 = split(";", $zeile1);
    $err1 = $foo1[1];
    
    for my $b (0..$#omit){
    $prob1 = 0;
    $fehler = $omit[$b];
#   $fehler="constraint violation";

    $prob1 = index ($err1, $fehler);
...
}   

Run Code Online (Sandbox Code Playgroud)

关键是,它$prob1 = index ($err1, $fehler); 总是给出 -1(未找到)。如果我设置$fehler为“违反约束”之类的东西,就像上面的注释行一样, index() 将给出正确的数字。什么可能导致这种行为?问候

arrays perl string-matching

-1
推荐指数
1
解决办法
85
查看次数

使用类似正则表达式的功能过滤表

我在 SQL Server 上有一个表,其中有两列,如下所示。

旧值 新价值
申请号:123456789 申请号:89898989
随机乱码: ,请求编号: 随机乱码:,请求编号:12121212

我希望能够过滤表,如果两列都OldValue“ReqNo:”NewValue开头,后跟 8 位数字,并且与此模式完全匹配。

这意味着第一行将出现在我的输出中,但不会出现在第二行中。

我知道如何在 python 中执行此操作,但对 SQL Server 仍然陌生,并且似乎找不到正确的语法。

请帮忙。

sql sql-server string-matching

-2
推荐指数
1
解决办法
195
查看次数

检查单词是否包含一个或多个星号

我在Stack Overflow上提到了一些与此相关的帖子.但是我并没有真正找到一种非常有说服力的方法.

我将如何使用函数返回True或False,具体取决于单词(输入到函数)是否包含0或1(或更多)星.

我试过这样的事情:

def ANY_CHAR_IS_star(word):
    return bool(re.match(r"^[*]?", word))
Run Code Online (Sandbox Code Playgroud)

然而,对于错误情况,这也是正确的.不知道哪里出错了.诚实地说正则表达式有点弱

python string-matching string-search python-3.x

-3
推荐指数
1
解决办法
434
查看次数