tcsh 中匹配的字符串/子字符串

标签 string comparison substring tcsh

我正在努力尝试使用简洁的比较语句来避免一堆“if a = b or a = c or a = d or a = e”等。

相反,我尝试使用正则表达式和模式匹配,就像在 Perl 中所做的那样。

set st = "red"

线

if ($st =~ yellow|blue|red|green)

只是不起作用(如果:表达式语法。) 我尝试使用引号、括号,但如果没有错误的话,我永远不会得到预期的结果。

有没有办法避免繁重的构造:

if ($st == 黄色) || ($st == 蓝色) || ($st == 红色) || ($st == 绿色)?

或者用另一种方式问同样的问题:tcsh 是否允许类似“如果字符串 a 包含字符串 b”之类的内容?我在 tcsh 引用中找不到任何子字符串的概念。

感谢一百万!

最佳答案

我不知道tsch,但查看此页面的信息(在特殊字符下): http://www.tcsh.org/tcsh.html/Filename_substitution.html http://www.cs.duke.edu/csl/docs/csh.html 看来您需要用大括号括起来您的颜色:

if ($st =~ {yellow,blue,red,green})

关于tcsh 中匹配的字符串/子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610778/

相关文章:

c++ - 没有调用 getline(std::istream&, int&) 的匹配函数

c++ - 为什么字符串文字上的 decltype 不产生数组类型?

perl - 我如何在 Perl 中比较字母及其对应的(按字母顺序排列的)数字?

java - int 与 long 比较会损害 Java 的性能吗?

python - 检测Python序列中的所有某些子字符串

java - Java 中正则表达式的奇怪行为

python - Cython:什么时候应该将字符串定义为 char*、str 或 bytes?

python - 你能像在 Java 中一样将 python 中的字符串与 .equals 进行比较吗?

javascript - 获取 JavaScript 中最后一个斜杠后的字符串值

java - 如何检查一个字符串是否包含任何顺序的子字符串?