GROK 表达式

常用表达式

标识:USERNAME 或 USER

正则:[a-zA-Z0-9._-]+

名称:用户名

描述:由数字、大小写及特殊字符(._-)组成的字符串

例子:1234、Bob、Alex.Wong

标识:EMAILLOCALPART

正则:[a-zA-Z][a-zA-Z0-9_.+-=:]+

名称:用户名

描述:首位由大小写字母组成,其他位由数字、大小写及特殊字符(_.+-=:)组成的字符串

例子:windcoder、windcoder_com、abc-123

标识:EMAILADDRESS

正则:

[a-zA-Z][a-zA-Z0-9_.+-=:]+@\b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(.?|\b)

名称:电子邮件

描述:首位由大小写字母组成,其他位由数字、大小写及特殊字符(_.+-=:)组成的字符串,不能匹配qq邮箱

例子:windcoder@abc.com、windcoder_com@gmail.com、abc-123@163.com

标识:INT

正则:(?:[+-]?(?:[0-9]+))

名称:整数

描述:匹配0和正负整数

例子:0、-123、43987

标识:BASE10NUM 或 NUMBER

正则:(?:[+-]?(?:[0-9]+))

名称:十进制数字

描述:包括整数和小数

例子:0、18、5.23

标识:BASE16NUM

正则:(?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))

名称:十六进制数字

描述:整数

例子:0x0045fa2d、-0x3F8709

标识:WORD

正则:(?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))

名称:字符串

描述:包括数字和大小写字母

例子:String、65754、ILoveYou

标识:NOTSPACE

正则:\S+

名称:非空格字符串

描述:匹配非空格、至少一次

例子:String、65754、ILoveYou

标识:SPACE

正则:\s*

名称:空格字符串

描述:匹配空格、0次和多次

例子:String、65754、ILoveYou

标识:QUOTEDSTRING 或 QS

正则:(?>(?<!\)(?>"(?>\.|[\"]+)+"|""|(?>'(?>\.|[\']+)+')|''|(?>(?>\\.|[^\\]+)+`)|``))

名称:带引号的字符串

描述:带引号的字符串

例子:"This is an apple"、'What is your name?'

标识:UUID

正则:[A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}

名称:标准UUID

描述:标准UUID 32位

例子:23717d73-0ca5-44fd-a542-7d51ee72e21d

标识:MAC

正则:(??:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2})

名称:MAC地址

描述:可以是思科(Cisco)设备里的MAC地址,也可以是通用或者Windows系统的MAC地址

例子:23717d73-0ca5-44fd-a542-7d51ee72e21d

标识:IP

正则:(?:%{IPV6}|%{IPV4})

IPV4

?<![0-9])(?:(?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]))(?![0-9])

IPV6 ((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?

名称:IP地址

描述:IPv4或IPv6地址

例子:127.0.0.1、FE80:0000:0000:0000:AAAA:0000:00C2:0002

标识:HOSTNAME

正则:\b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(.?|\b)

名称:IP或者主机名称

例子:PC-20210723HTPJ,192.168.0.2

标识:HOSTPORT

正则:%{IPORHOST}:%{POSINT}

名称:主机名(IP)+端口

例子:PC-20210723HTPJ:8080,192.168.0.2:808

标识:PATH

正则:(?:%{UNIXPATH}|%{WINPATH})

名称:路径

描述:Unix系统或者Windows系统里的路径格式

例子:d:\aa\bb\cc 或 /aa/bb/cc

标识:URIPROTO

正则:A-Za-z+

名称:URI协议

例子:http ftp

标识:URIHOST

正则:%{IPORHOST}(?::%{POSINT:port})?

名称:URI主机

例子:windcoder.com、10.0.0.1:22

标识:URIPATH

正则:(?[A-Za-z0-9$.+!'(){},~:;=@#%&_-])+

名称:URI路径

例子://windcoder.com/abc/、/api.php

日期表达式

标识:MONTH

正则:

\b(?:[Jj]an(?:uary|uar)?|[Ff]eb(?:ruary|ruar)?|Mm?r(?:ch|z)?|[Aa]pr(?:il)?|[Mm]a(?:y|i)?|[Jj]un(?:e|i)?|[Jj]ul(?:y|i)?|[Aa]ug(?:ust)?|[Ss]ep(?:tember)?|Oo?t(?:ober)?|[Nn]ov(?:ember)?|[Dd]e(?:c|z)(?:ember)?)\b

名称:月份

描述:英文格式月份

例子:January, Feb, December

标识:MONTHNUM

正则:(?:0?[1-9]|1[0-2])

名称:月份

描述:数字格式月份

例子:1, 2, 12

标识:MONTHDAY

正则:(?:0?[1-9]|1[0-2])

名称:日期

描述:数字格式日期

例子:03、9、31

标识:DAY

正则:

(?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)

名称:星期几名称

描述:英文格式星期几

例子: Monday, Tue, Thu

标识:YEAR

正则:(?>\d\d){1,2}

名称:年份数字

例子: 21、22、23

标识:HOUR

正则:(?:2[0123]|[01]?[0-9])

名称:小时数字

例子: 13、14、23

标识:MINUTE

正则:(?:[0-5][0-9])

名称:分钟数字

例子: 13、14、43

标识:SECOND

正则:(??:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)

名称:秒数字

例子: 13、14、43

标识:TIME

正则:

(?!<[0-9])(?:2[0123]|[01]?[0-9])?:[0-5][0-9])(?:??:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?))(?![0-9])

名称:时间

例子: 12:32:00

标识:DATE_US

正则:(?:0?[1-9]|1[0-2])/-/-

名称:美国时间

例子: 10-01-1892、10/01/1892/

标识:DATE_EU

正则:

(??:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])./-./-

名称:欧洲日期格式

例子:01-10-1892、01/10/1882、01.10.1892

标识:ISO8601_TIMEZONE

正则:

(?:Z|[+-]%{HOUR}(?::?%{MINUTE}))

名称:ISO8601时间格式

例子:+10:23、-1023

标识:TIMESTAMP_ISO8601

正则:

%{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?

名称:ISO8601时间戳格式

例子:2016-07-03T00:34:06+08:00

标识:DATE

正则:

%{DATE_US}|%{DATE_EU}

名称:美国日期或欧洲日期

例子:10-01-1892、10/01/1892/ 或 01-10-1892、01/10/1882、01.10.1892

标识:DATESTAMP

正则:

%{DATE_US}|%{DATE_EU}

名称:完整日期+时间

例子:07-03-2016 00:34:06

标识:HTTPDATE

正则:

%{MONTHDAY}/%{MONTH}/%{YEAR}:%{TIME} %{INT}

名称:http默认日期格式

例子:03/Jul/2016:00:36:53 +0800

预定义完整正则表达式

USERNAME [a-zA-Z0-9._-]+

USER %{USERNAME}

EMAILLOCALPART [a-zA-Z][a-zA-Z0-9_.+-=:]+

EMAILADDRESS %{EMAILLOCALPART}@%{HOSTNAME}

INT (?:[+-]?(?:[0-9]+))

BASE10NUM (?<![0-9.+-])(?>[+-]?(??:[0-9]+(?:.[0-9]+)?)|(?:.[0-9]+)))

NUMBER (?:%{BASE10NUM})

BASE16NUM (?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))

BASE16FLOAT \b(?<![0-9A-Fa-f.])(?:[+-]?(?:0x)?(??:[0-9A-Fa-f]+(?:.[0-9A-Fa-f]*)?)|(?:.[0-9A-Fa-f]+)))\b

POSINT \b(?:[1-9][0-9]*)\b

NONNEGINT \b(?:[0-9]+)\b

WORD \b\w+\b

NOTSPACE \S+

SPACE \s*

DATA .*?

GREEDYDATA .*

QUOTEDSTRING (?>(?<!\)(?>"(?>\.|[\"]+)+"|""|(?>'(?>\.|[\']+)+')|''|(?>(?>\\.|[^\\]+)+`)|``))

UUID [A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}

URN, allowing use of RFC 2141 section 2.3 reserved characters

URN urn:[0-9A-Za-z][0-9A-Za-z-]{0,31}?:%[0-9a-fA-F]{2}|[0-9A-Za-z()+,.:=@;$_!*'/?#-])+

Networking

MAC (?:%{CISCOMAC}|%{WINDOWSMAC}|%{COMMONMAC})

CISCOMAC (??:[A-Fa-f0-9]{4}.){2}[A-Fa-f0-9]{4})

WINDOWSMAC (??:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2})

COMMONMAC (??:[A-Fa-f0-9]{2}{5}[A-Fa-f0-9]{2})

IPV6 ((([0-9A-Fa-f]{1,4}{7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}{6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}{5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}{4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}{3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}{2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}{1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?

IPV4 (?<![0-9])(??:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])...)(?![0-9])

IP (?:%{IPV6}|%{IPV4})

HOSTNAME \b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(.?|\b)

IPORHOST (?:%{IP}|%{HOSTNAME})

HOSTPORT %{IPORHOST}:%{POSINT}

paths (only absolute paths are matched)

PATH (?:%{UNIXPATH}|%{WINPATH})

UNIXPATH (/[[[:alnum:]]_%!$@:.,+~-]*)+

TTY (?:/dev/(pts|tty([pq])?)(\w+)?/?(?:[0-9]+))

WINPATH (?>[A-Za-z]+:|\)(?:\[^\?])+

URIPROTO A-Za-z+

URIHOST %{IPORHOST}(?::%{POSINT:port})?

uripath comes loosely from RFC1738, but mostly from what Firefox

doesn't turn into %XX

URIPATH (?[A-Za-z0-9$.+!'(){},~:;=@#%&_-])+

#URIPARAM ?(?:[A-Za-z0-9]+(?:=(?:[&]*))?(?:&(?:[A-Za-z0-9]+(?:=(?:[&]))?)?))?

URIPARAM ?[A-Za-z0-9$.+!'|(){},~@#%&/=:;_?-[]<>]

URIPATHPARAM %{URIPATH}(?:%{URIPARAM})?

URI %{URIPROTO}/(?:%{USER}(?::[^@]*)?@)?(?:%{URIHOST})?(?:%{URIPATHPARAM})?

Months: January, Feb, 3, 03, 12, December

MONTH \b(?:[Jj]an(?:uary|uar)?|[Ff]eb(?:ruary|ruar)?|Mm?r(?:ch|z)?|[Aa]pr(?:il)?|[Mm]a(?:y|i)?|[Jj]un(?:e|i)?|[Jj]ul(?:y|i)?|[Aa]ug(?:ust)?|[Ss]ep(?:tember)?|Oo?t(?:ober)?|[Nn]ov(?:ember)?|[Dd]e(?:c|z)(?:ember)?)\b

MONTHNUM (?:0?[1-9]|1[0-2])

MONTHNUM2 (?:0[1-9]|1[0-2])

MONTHDAY (??:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])

Days: Monday, Tue, Thu, etc...

DAY (?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)

Years?

YEAR (?>\d\d){1,2}

HOUR (?:2[0123]|[01]?[0-9])

MINUTE (?:[0-5][0-9])

'60' is a leap second in most time standards and thus is valid.

SECOND (??:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)

TIME (?!<[0-9])%{HOUR}:%{MINUTE}(?::%{SECOND})(?![0-9])

datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)

DATE_US %{MONTHNUM}[/-]%{MONTHDAY}[/-]%{YEAR}

DATE_EU %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}

ISO8601_TIMEZONE (?:Z|[+-]%{HOUR}(?::?%{MINUTE}))

ISO8601_SECOND (?:%{SECOND}|60)

TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?

DATE %{DATE_US}|%{DATE_EU}

DATESTAMP %{DATE}[- ]%{TIME}

TZ (?:[APMCE][SD]T|UTC)

DATESTAMP_RFC822 %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}

DATESTAMP_RFC2822 %{DAY}, %{MONTHDAY} %{MONTH} %{YEAR} %{TIME} %{ISO8601_TIMEZONE}

DATESTAMP_OTHER %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{TZ} %{YEAR}

DATESTAMP_EVENTLOG %{YEAR}%{MONTHNUM2}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}

Syslog Dates: Month Day HH:MM:SS

SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}

PROG [\x21-\x5a\x5c\x5e-\x7e]+

SYSLOGPROG %{PROG:program}(?:[%{POSINT:pid}])?

SYSLOGHOST %{IPORHOST}

SYSLOGFACILITY <%{NONNEGINT:facility}.%{NONNEGINT:priority}>

HTTPDATE %{MONTHDAY}/%{MONTH}/%{YEAR}:%{TIME} %{INT}

Shortcuts

QS %{QUOTEDSTRING}

日志格式

SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:

日志级别

LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo?(?:rmation)?|INFO?(?:RMATION)?|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)

GROK 表达式的更多相关文章

  1. ELK——为调试 Logstash Grok 表达式,安装 GrokDebuger 环境

      内容 安装 RVM 安装 Ruby 和 Gems 安装 Rails 安装 jls-grok Ruby grok 解析 调试 grok 注意:不要用 root 执行以下操作. 用 logstash ...

  2. 安装logstash5.4.1,并使用grok表达式收集nginx日志

    关于收集日志的方式,最简单性能最好的应该是修改nginx的日志存储格式为json,然后直接采集就可以了. 但是实际上会有一个问题,就是如果你之前有很多旧的日志需要全部导入elk上查看,这时就有两个问题 ...

  3. grok表达式

    grok表达式 grok其实就是封装了各种常用的正则表达式,屏蔽了直接写正则的复杂性:通过它可以提取日志内容,按照自己指定的格式输出到kibana. http://udn.yyuap.com/doc/ ...

  4. logstash笔记(二)——grok之match

    官方文档: https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html 基本语法: %{SYNTAX:SEMA ...

  5. Logstash使用grok插件解析Nginx日志

    grok表达式的打印复制格式的完整语法是下面这样的: %{PATTERN_NAME:capture_name:data_type}data_type 目前只支持两个值:int 和 float. 在线g ...

  6. logstash定义表达式

    例如: echo '[2018/02/02 08:34:43.032]' >> tomcat_catalina.out 过滤方式 "message" => &qu ...

  7. 关于Logstash中grok插件的正则表达式例子

    一.前言 近期需要对Nginx产生的日志进行采集,问了下度娘,业内最著名的解决方案非ELK(Elasticsearch, Logstash, Kibana)莫属. Logstash负责采集日志,Ela ...

  8. Grok Debugger安装配置

    前言:由于使用ELK对日志进行集中管理,grok表达式无法验证是否正确,所以使用Grok Debugger进行调试,但是由于国外网站上不去(http://grokdebug.herokuapp.com ...

  9. grok语法定义

    grok默认表达式 Logstash 内置了120种默认表达式,可以查看patterns,里面对表达式做了分组,每个文件为一组,文件内部有对应的表达式模式.下面只是部分常用的. 常用表达式 表达式标识 ...

  10. Logstash生产环境实践手册(含grok规则示例和ELKF应用场景)

    ELKF应用场景: 1) datasource->logstash->elasticsearch->kibana 2) datasource->filebeat->log ...

随机推荐

  1. 遵循这些MySQL设计规范,再也没被组长喷过

    分享是最有效的学习方式. 博客:https://blog.ktdaddy.com/ 故事 会议室里,小猫挠着头,心里暗暗叫苦着"哎,这代码都撸完了呀,改起来成本也太大了." 原来就 ...

  2. std::thread 四:异步(async)

    *:如果 std::async 中传递参数 std::lunnch::deferred ,就需要等待调用 get() 或者 wait() 才会执行,并且代码非子线程运行,而是在主线程中执行 #incl ...

  3. mysql 重新整理——存储引擎[三]

    前言 要知道存储引擎这个东西,不是存储的意思,而是io操作. MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛 ...

  4. 浏览器端实现类似input限制输入两位小数,输入时光标从输入位置移动到最后

    1.问题描述展示 示例代码所做限制为不允许输入字母d,其他限制规则可以根据需求自己调整,使用React编写,其他框架或原生均可根据该代码理解原理进行转变,特意使用了中文键盘可以看到输入框下面白色框闪出 ...

  5. 【笔记】join using&AVG

    oracle using 在oracle中,using用于简化连接查询,只有当查询是等值连接和连接中的列必须具有相同的名称与数据类型时,才能使用using关键字进行简化 比如原来是 select s. ...

  6. 力扣342(java)-4的幂(简单)

    题目: 给定一个整数,写一个函数来判断它是否是 4 的幂次方.如果是,返回 true :否则,返回 false . 整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x 示例 1: 输 ...

  7. 力扣319(java)-灯泡开关(中等)

    题目: 初始时有 n 个灯泡处于关闭状态.第一轮,你将会打开所有灯泡.接下来的第二轮,你将会每两个灯泡关闭第二个. 第三轮,你每三个灯泡就切换第三个灯泡的开关(即,打开变关闭,关闭变打开).第 i 轮 ...

  8. 面试官:在原生input上面使用v-model和组件上面使用有什么区别?

    前言 还是上一篇面试官:来说说vue3是怎么处理内置的v-for.v-model等指令? 文章的那个粉丝,面试官接着问了他另外一个v-model的问题. 面试官:vue3的v-model都用过吧,来讲 ...

  9. 阿里云云原生加速器企业硬之城携手阿里云 Serverless 应用引擎(SAE)打造低代码平台

    简介: 作为入选阿里云首期云原生加速器的企业,硬之城此前也获得了阿里云首批产品生态集成认证,通过云原生加速器项目携手阿里云共建更加丰富的云原生产业生态圈,加速云原生落地. 作者 | 陈泽涛(硬之城产品 ...

  10. 问题排查不再愁,Nacos 上线推送轨迹功能

    简介: 微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更.亿级推送.可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的 ...