Bash 需要测试字母数字字符串

2023-11-22

尝试验证字符串中是否仅包含小写、大写或数字。

if ! [[ "$TITLE" =~ ^[a-zA-Z0-9]+$ ]]; then echo "INVALID"; fi

想法?

* 更新 *

变量 TITLE 目前只有大写文本,因此它应该通过并且不应该输出任何内容。但是,如果我向 TITLE 添加特殊字符,IF 语句应该捕获它并回显 INVALID。目前它不起作用。它总是回显无效。我认为这是因为我的正则表达式语句是错误的。我认为我的写作方式是寻找一个包含所有这三个内容的标题。

重击 4.2.25

这个想法是,用户应该能够添加任何标题,只要它只包含大写、小写或数字。所有其他角色都应该失败。

* 更新 *

如果 TITLE = ThisIsAValidTitle 则回显无效。

如果 TITLE = ThisIs@@@@@@@InvalidTitle 它也会回显 invalid。

* 解决方案 *

奇怪的是,当我将其简化为以下内容时,它开始起作用:

TEST="Valid0"
if ! [[ "$TEST" =~ [^a-zA-Z0-9] ]]; then
  echo "VALID"
else
  echo "INVALID"
fi

*真正的解决方案*

我的变量中有空格...DUH

抱歉给各位带来麻烦了...

* 最终解决方案 *

这会占用标题中的空格

if ! [[ "$TITLE" =~ [^a-zA-Z0-9\ ] ]]; then
  echo "VALID"
else
  echo "INVALID"
fi

我会颠倒逻辑。测试无效字符,如果至少存在一个则回显警告:

if [[ "$TITLE" =~ [^a-zA-Z0-9] ]]; then
  echo "INVALID"
fi

话虽如此,您最初的检查对我有用,因此您可能需要提供更多上下文(即脚本的较大部分)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 需要测试字母数字字符串 的相关文章

  • Bash 中的动态变量名称

    我对 bash 脚本感到困惑 我有以下代码 function grep search magic way to define magic variable 1 ls tail 1 echo magic variable 1 我希望能够创建一
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 正则表达式,提取不在两个括号之间的字符串

    好的正则表达式问题 如何提取不在两个字符之间的字符 在本例中是括号 我有一个字符串 例如 字1 字2 字3 字 4 我只想获取第一个和最后一个 管道 而不是括号之间的第二个 管道 我已经尝试了无数次负克拉和负分组的尝试 但似乎无法使其发挥作
  • 正则表达式以任何顺序匹配查询中的所有单词

    我正在尝试为一个项目构建一个搜索功能 该功能根据用户搜索输入以及它是否与针对项目列出的关键字匹配来缩小项目范围 为此 我将项目关键字保存在data属性并使用 RegExp 模式将查询与这些关键字进行匹配 我目前正在使用这个表达式 我知道它不
  • 在Python中使用.replace替换多个字符[重复]

    这个问题在这里已经有答案了 所以我试图制作一个简单的程序 将一个短语解码为不同的短语 这是我现在的代码 def mRNA decode phrase newphrase phrase replace A U phrase replace T
  • string.Empty 与 null。您使用哪一个?

    最近工作的同事告诉我不要使用string Empty设置字符串变量时但使用null因为它污染了堆栈 他说不做 string myString string Empty but do string mystring null 真的有关系吗 我
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错
  • 使用 RegEX 在 Notepad++ 中添加前缀和附加

    我在 txt 文件中有相当大的单词列表 我正在尝试在 Notepad 中进行正则表达式查找和替换 我需要在每行之前和之后添加一个字符串 这样 wordone wordtwo wordthree become able wordone abl
  • [A-Z] 表示 [A-Za-z] 是怎么回事?

    我已经注意到 至少在我使用的一些基于 Unix 的系统上 ls A Z 已经给了我预期的结果ls A Za z 让我无法轻松获得以大写字母开头的该死的文件列表 我刚刚遇到了同样的事情grep 我无法让它停止与小写字母匹配 A Z 直到我最终
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 使用简单数据结构在 Bash 脚本中进行深度优先搜索

    我正在尝试按照上面所述进行操作 我相对容易地设计了广度优先搜索 该脚本的目标是创建用户输入的具有一定深度和广度的目录结构 我正在尝试改变广度优先实现以支持深度优先搜索 这是我得到的 depthsearch local open seed l
  • 以十六进制打印字符串? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这种以十六进制打印字符串的简短方法是
  • 将字符串与 perl 中的模式对齐?

    我在方括号内有一些字符串块 如下所示 p1 text1 label1 p2 text2 label2 p3 text3 label3 等等 每个块里面有什么并不重要 但有时会有一些没有用方括号括起来的零散文本块 例如 p1 text1 la
  • 是否存在永远不会匹配任何字符串的正则表达式? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 stdout 复制到 stderr

    我希望在 bash 下也将命令的标准输出复制到标准错误 就像是 echo FooBar FooBar FooBar 其中 是重定向表达式 那可能吗 将 tee 与 dev stderr 一起使用 echo FooBar tee dev st
  • 以最少插入次数将字符串转换为回文

    这是一个来自日常编码问题 https www dailycodingproblem com 给定一个字符串 找到可以通过插入来组成的回文数 单词中任何位置的字符数尽可能少 如果有 大于一个可以制作的最小长度的回文 返回 字典顺序最早的一个
  • 字符串/分段错误

    Program to calculate trip and plan flights define TRIP 6 define NAMEMAX 40 define DEST 1 include
  • 生成斐波那契数列的 Shell 脚本

    我正在尝试创建一个递归函数来计算斐波那契系列中的第 n 个数字 我已经找到了很多解决这个问题的方法 但我不知道为什么我的解决方案不起作用 谢谢 function fib if 1 eq 1 o 1 eq 2 then return 1 el
  • 我想找到 C# 代码中所有后面没有括号的 if 语句。通过正则表达式

    我想找到所有if声明和for后面没有大括号的语句 当你在一个文件中写入一行时if声明您大多不会将其括在大括号中 所以我想找到所有这些if and for声明 请帮忙 就像我想捕捉这个声明 if childNode Name B return
  • 正则表达式 - 匹配单词缩写

    我正在考虑提供以下正则表达式作为答案这个问题 https stackoverflow com questions 2110010 how to find wordpresss installed on domain or server pr

随机推荐

  • 地图视图平滑缩放

    当我使用 MapController setZoom x 时 例如 从级别 5 缩放到 15 时 缩放执行得非常快 并且通常不会加载新级别的地图图块 这对用户来说看起来不太好 任何地图内置功能都可以将其更改为更慢的缩放 以便在达到 15 级
  • Android:编辑文本中密码的最小长度

    在android中 有没有简单的方法可以在edittext中设置最小密码长度 在 xml 中只有最大长度选项 而没有最小长度选项 设置 em 和宽度等选项来限制长度 但是什么时候设置最小长度呢 我在文档中找到了这个 DevicePolicy
  • 浮点型与双精度型

    是否存在比较 equals 两个浮点值之间将返回false如果你将它们比较DOUBLE但返回true如果你将它们与 FLOAT 进行比较 作为我的小组项目的一部分 我正在编写一些程序来比较任何给定类型的两个数值 我总共需要处理四种类型 do
  • Java 中的 double 到 long 无需转换

    我需要将 double 转换为 long 保留其二进制结构 而不是数值 只需更改类型 但保留二进制值不变 有没有一种本地方法可以做到这一点 有Double与 doubleToLongBits 和 doubleToLongRawBits Ja
  • 如何在 Hibernate 中使用唯一键而不是主键检索记录

    Using session load or session get 或任何其他方法org hibernate session 是否可以在hibernate中根据Unique列而不是PK列值获取记录 我的要求是我需要根据唯一列值而不是主键获取
  • 将 Arc 克隆为 Arc,其中 T 实现 U

    我觉得很奇怪 use std sync Arc trait Fruit struct Pear impl Fruit for Pear fn main let pear Arc new Pear let cloned Arc clone p
  • 在 Neo4j 中实现 Dijkstra 算法

    我对 Neo4j 很陌生 有人可以向我解释 请逐步 如何实现 Dijkstra 算法来找到两个节点之间的最短路径 是否可以简单地使用 Cypher 来完成它 我已经尝试过最短路径算法 但它很慢 MATCH from Location Loc
  • 为什么我不能反转 str::split 的结果?

    根据文档Split 有一个rev方法对结果的影响split在字符串上 fn main let mut length 0 let mut mult 1 for part in 1 30 split rev length mult part p
  • Eclipse p2:category.xml 和 site.xml 之间的区别

    p2 存储库创建 ant 任务 例如 eclipse publish featuresAndBundles 似乎采用指定类别信息的 site xml 或category xml 文件 我发现 eclipse 生成的 site xml 和ca
  • 圆形ViewPager。第一轮后碎片无法正常工作

    好的 所以我需要圆形 ViewPager 我真的很难实施它 现在我已经实现了它 并且就圆形滚动而言它运行良好 但我注意到一个问题 那就是 第一轮滚动片段不起作用后 我有三个片段 里面有一个按钮 按钮在第一轮有效 但当我回到第一页时按钮不起作
  • 有没有办法在 Eclipse 中自动生成 getter 和 setter?

    我正在研究一个新的Android项目 Java 并创建了一个带有大量变量的对象 由于我计划为所有这些添加 getter 和 setter 所以我想知道 是否有捷径Eclipse自动生成给定类中的 getter 和 setter 在所需类的源
  • 使用 JSONB 列内的值连接表

    有两个表 授权联系人 auth contacts userid varchar contacts jsonb contacts包含具有属性的联系人数组 contact id type discussion contact id varcha
  • 在 cmake 构建中使用 LLVM

    我正在尝试构建自己的使用 LLVM 的项目 我在官网上下载了源码和预编译包 最新版本 http releases llvm org download html 我下载了 LLVM source code Clang for Windows
  • 角度材料将 angularjs 1.5 组件加载到 $mdDialog 中

    目标 使用组件而不是使用 scope 来设置数据 没有可共享的错误 问题是对话框加载组件时未设置数据元素 屏幕截图显示了对话框的当前状态 选项卡 2 信息 中应该有一个绑定的对象 我可以使用 onComplete 事件验证对话框加载后对象
  • 如何通过两个键对 JSON 对象进行排序?

    我有一个 JSON 对象 我想先按一个键排序 然后按第二个键排序 类似于 SQL 中按两列排序 以下是我想要的 JSON 示例 GROUPID 3169675 LASTNAME Chantry 我想按 GROUPID 然后按 LASTNAM
  • 每个连接请求都被视为直接连接请求+ android ble

    我们正在编写一个 ble 应用程序 希望与我们想要连接的外设建立持久连接 出于同样的目的 每当我们失去现有连接时 我们都希望与外围设备重新连接 因此 我们作为中心的 Android 应用程序只是尝试通过调用 bluetoothdevice
  • Tensorflow 因 CUDNN_STATUS_ALLOC_FAILED 崩溃

    在网上搜索了几个小时没有结果 所以我想在这里问一下 我正在尝试按照 Sentdex 的教程制作一辆自动驾驶汽车 但是在运行模型时 我遇到了一堆致命错误 我在网上搜索了解决方案 很多人似乎都有同样的问题 但是 我没有找到任何解决方案 包括这个
  • KMM 与公共(共享)模块中的 Java 源

    由于平台限制 我们无法将 Java 源代码与 Kotlin Multiplatform Mobile 一起使用 但如果 Kotlin 与 Java 100 兼容 为什么我们不能将 Java 与 Kotlin Multiplatform Mo
  • OpenSSL 连接:警报内部错误

    我使用 SNI 在单个服务器上运行 100 个 HTTPS 服务 实际上 我无权访问它们 这是一项任务 我只知道他们的域名N xxx yy其中 N 的范围是 00 到 99 分配的目标是评估与每个服务器的每个连接的安全性 因此 某些服务器包
  • Bash 需要测试字母数字字符串

    尝试验证字符串中是否仅包含小写 大写或数字 if TITLE a zA Z0 9 then echo INVALID fi 想法 更新 变量 TITLE 目前只有大写文本 因此它应该通过并且不应该输出任何内容 但是 如果我向 TITLE 添