ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

计算机表达式大全

计算机表达式大全

在计算机世界里,“表达式”远不止正则和Cron,它是一类用特定符号串描述规则、模式或计算的形式化语言。

除了你提到的,我按应用领域帮你梳理了这些重要的表达式:

1. 查询与检索表达式(找数据)

  • SQL查询表达式:如SELECT * FROM users WHERE age > 18 ORDER BY name。它用声明式语法描述“要什么数据”,而非“怎么取”。

  • XPath / CSS选择器:用于在HTML/XML文档中定位节点。如//div[@class='main']/pdiv.main > p

  • Lucene查询语法:搜索引擎内核(如Elasticsearch)使用,如title:"机器学习" AND (tags:AI OR tags:算法)

  • JQ表达式:处理JSON数据的瑞士军刀,如.users[] | select(.age>18) | .name

2. 时间与调度表达式(定时间)

你已经提到了Cron,还有:

  • Quartz Cron:比Linux Cron更强大,支持秒级(如0 0/5 * * * ?)和更复杂的日历排除。

  • ISO 8601 重复间隔:如R5/2026-07-03T10:00:00Z/P1D,表示从指定时间开始,每天一次,共5次。

  • iCalendar (RFC 5545) 递归规则:如FREQ=WEEKLY;BYDAY=MO,WE;UNTIL=20261231,常用于日历提醒。

3. 路径与格式表达式(找位置)

  • Glob表达式:用于匹配文件路径,比正则简单。如src/**/*.js(匹配所有子目录下的js文件),在.gitignore和Shell中常用。

  • JSON Path:在JSON中定位数据的XPath变体,如$.store.book[0].title

4. 逻辑与规则表达式(做判断)

  • EL (Expression Language):Java Web中常用,如${user.name != null ? user.name : '游客'}

  • Spring SpEL:更强大的Spring表达式,支持调用方法和反射,如#user.name?.toUpperCase()

  • Boolean表达式:用于权限或规则引擎,如(role == 'admin' || (age > 18 && country == 'CN'))

5. 数学与函数式表达式(算结果)

  • Lambda表达式:匿名函数,如(x, y) -> x + y(Java/Python),是函数式编程的基石。

  • 数学公式字符串:如3.14 * radius ** 2,常见于科学计算或低代码平台,需用语法解析器求值。

  • LINQ表达式:C#中用于数据查询的表达式树,如from p in products where p.Price > 100 select p

6. 格式与校验表达式(定义形状)

  • JSON Schema:描述JSON数据结构,如{"type": "object", "properties": {"name": {"type": "string"}}}

  • XML Schema (XSD):验证XML结构的规则。

  • Protocol Buffers (Protobuf).proto定义,可以看作描述二进制数据结构的“表达式”。

7. 正则表达式的“亲戚”

  • 通配符(Wildcard):如*.txt,比正则弱但更轻量。

  • 模糊匹配(Fuzzy Match):在搜索引擎中用~表示,如"hello"~2表示允许两个编辑距离的拼写错误。

返回列表