标签: square-bracket

C# 正则表达式匹配方括号

我尝试在 C# 中使用正则表达式来匹配可以包含以下内容的软件版本号:

  • 2 位数字
  • 1 或 2 位数字(不以 0 开头)
  • 另一个 1 或 2 位数字(不以 0 开头)
  • 1、2、3、4 或 5 位数字(不以 0 开头)
  • 末尾有一个选项字母,括在方括号中。

一些例子:

10.1.23.26812
83.33.7.5
10.1.23.26812[d]
83.33.7.5[q]

无效示例:

10.1.23.26812[
83.33.7.5]
10.1.23.26812[d
83.33.7.5q

我已经尝试过以下方法:

string rex = @"[0-9][0-9][.][1-9]([0-9])?[.][1-9]([0-9])?[.][1-9]([0-9])?([0-9])?([0-9])?([0-9])?([[][a-zA-Z][]])?";
Run Code Online (Sandbox Code Playgroud)

(注意:如果我尝试不使用“@”并通过执行“\[”来转义方括号,则会收到错误消息“无法识别的转义序列”)

我可以达到版本号正确验证的程度,但它接受后面的任何内容(例如:“10.1.23.26812thisShouldBeWrong”被匹配为正确)。

所以我的问题是:有没有一种方法可以使用正则表达式来匹配/检查字符串中的方括号,或者我是否需要将其转换为不同的字符(例如:将 [a] 更改为 a匹配 *s )?

regex square-bracket

4
推荐指数
1
解决办法
2万
查看次数

函数名周围的方括号

我现在试图理解委托,并偶然发现了以下代码段:

Function [Select](ByVal numbers As List(Of Integer), ByVal filter As Filter) As List(Of Integer)
    Dim result As New List(Of Integer)
    For Each number In numbers
        ' call delegate
        If filter(number) = True Then
            result.Add(number)
        End If
    Next
    Return result
End Function
Run Code Online (Sandbox Code Playgroud)

我搜索了一个解释,但我能找到的只是这个,但这并不能帮助我理解我找到的片段。谁能帮我理解方括号[Select]的用途?

.net vb.net syntax square-bracket

4
推荐指数
1
解决办法
688
查看次数

html中的方括号是什么意思?

我现在正在协助一个项目,第一次构建模板,试图解决一些问题,但 html 中令我困惑的一个方面是方括号中的某些内容。我以前从未在 html 中使用过这些,所以我只是想知道它们的用途(当我在浏览器中打开页面时,它们都显示为文本)

这是一些代码:

<div class="container">
   [HASBREADCRUMBS]
   <ol class="nav-breadcrumb">
      [BREADCRUMBS]
   </ol>
   [/HASBREADCRUMBS]
   <h1 class="header-title" style="color:[TITLECOLOR];font-size:[TITLESIZE];">[TITLE]</h1>
</div>
Run Code Online (Sandbox Code Playgroud)

html square-bracket

4
推荐指数
1
解决办法
2万
查看次数

使用 bash 在文件的每一行中添加方括号

我想为文件的每一行添加方括号。

我正在使用sed -i "s/\(.*\)/[\1]/" file_name.txt命令,但我看到它插入了 2 倍的方括号,我的输出(只是第一行,每行都相同)看起来像这样

[[1,1,0,0,0,0,1,0,24,3,0,0,0,0,86,149,149,14,0,0,0,0,32,149,46,16,0,0,1,13,3,33,65,66,0,0,0,0,0,2,149,140,6,0,0,2,62,148,88,24,26,2,0,14,116,148,30,15,1,0,0,1,5,30,56,18,0,0,0,0,0,4,149,46,40,14,0,0,1,34,31,46,149,31,0,2,9,12,1,7,8,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,12,2,0,0,0,0,0,0,0,0,0,0,0,0]]
Run Code Online (Sandbox Code Playgroud)

如何使用 sed 为每一行插入一个方括号?请帮忙。提前致谢!

bash brackets sed square-bracket

4
推荐指数
1
解决办法
6141
查看次数

MATLAB 中方括号的使用

在 MATLAB 中,您可以轻松地创建一个整数数组

N = 100; % Number of points
A = 1:N; % row vector of 1,2,3,..., 100
Run Code Online (Sandbox Code Playgroud)

如果我想要一个列向量而不是一个行向量,我可以用

A = [1:N].';
Run Code Online (Sandbox Code Playgroud)

现在,MATLAB 警告我

Use of brackets [] is unnecessary. Use parentheses to group if necessary.
Run Code Online (Sandbox Code Playgroud)

好吧,它们不是不必要的,因为1:N.' 创建了一个行向量,因为只有标量N被转置,而不是整个数组。

我当然可以在该行、该文件或所有文件中取消显示此消息,但是为什么 MATLAB 首先会抛出此警告,因为在这种情况下我似乎不能没有这些括号?

事实证明,很大一部分混淆源于 The MathWorks 对美式英语的使用,因为其他英语世界使用术语括号for()和术语方括号for []。参见维基百科

matlab vector square-bracket

4
推荐指数
1
解决办法
1378
查看次数

创建一个可以接收board1 [{1,1}] ='X'的类; ?(方括号内的花括号)

我得到HW,在main.cpp的一行中,我想支持:

board1[{1,1}]='X';
Run Code Online (Sandbox Code Playgroud)

这背后的逻辑意义是在(1,1)的位置将"X"分配给"游戏板".我不知道如何创建一个接收大括号的数组,如[{int,int}].

我怎样才能做到这一点?

PS因为这些是符号而不是字符(因为我不认识任何属于这个问题的术语)在谷歌搜索这类问题非常困难,所以这可能是重复的:-(,希望不是.

我试着这样做:

第一次尝试:

vector<vector<int> > matrix(50);
for ( int i = 0 ; i < matrix.size() ; i++ )
    matrix[i].resize(50);
matrix[{1,1}]=1;
Run Code Online (Sandbox Code Playgroud)

第二次尝试:

int mat[3][3];
//maybe map
mat[{1,1}]=1;
Run Code Online (Sandbox Code Playgroud)

第3次尝试:

class _mat { // singleton
    protected:
       int i ,j;

    public:
        void operator [](string s)
        {
            cout << s;
        }
};

_mat mat;
string s = "[{}]";
mat[s]; //this does allow me to do assignment also the parsing of the string is a hustle
Run Code Online (Sandbox Code Playgroud)

c++ brackets curly-braces square-bracket

4
推荐指数
1
解决办法
89
查看次数

带或不带 const/&amp; 符号的 C++ 方括号重载

我正在编写 C++ 代码,并遇到了一种情况,我希望为我的类重载方括号运算符。从各种来源,我发现您通常使用两种方法来执行此操作,一种使用const关键字,另一种不使用关键字,但在方法名称之前const使用与号 ( )。&下面给出一个例子。

int MyClass::operator[](unsigned int i) const {
    return this->values[i];
}

int & MyClass::operator[](unsigned int i) {
    return this->values[i];
}
Run Code Online (Sandbox Code Playgroud)

我的问题如下:

  1. 为什么我有两种方法,一种带关键字const,一种不带关键字?
  2. 我的第二个方法中的&符号(&)有什么作用?
  3. 当我的方法都不是设置器时,为什么可以使用方括号在给定索引处设置值,并且当我设置值时会调用这两个方法中的哪一个?

c++ operator-overloading square-bracket getter-setter

4
推荐指数
1
解决办法
945
查看次数

带有方括号的mySQL Regexp

我试图在mySQL的列中匹配像'[sometext <someothertext>]'(即左方括号,文本,左尖括号,文本,右尖括号,右方括号)之类的字符串.最初我使用了以下查询(请注意,由于regex查询在mySQL中被转义两次,因此必须使用两个反斜杠,通常使用一个反斜杠):

SELECT * FROM message WHERE msgtext REGEXP '\\[(.+)?<(.+)?>\\]'
Run Code Online (Sandbox Code Playgroud)

此查询没有收到任何错误,但它返回了我不想要的内容.而不是(.+),我想要[^ \]](匹配除了右方括号之外的所有内容).当我更改查询时,我收到以下错误:"从regexp获取错误'重复 - 运算符操作数无效'

在阅读了这里的mySQL文档之后,它指出"要包括一个文字"字符,它必须紧跟在开头括号[." 因为我想要"^ \]"而不是"]",这是否可能,因为括号不能是开括号之后的第一个字符?以下是我尝试过的一些查询,它们会出现上面列出的相同错误:

SELECT * FROM message WHERE msgtext REGEXP '\\[([^\\]]+?)<([^\\]]+?)>\\]'
SELECT * FROM message WHERE msgtext REGEXP '\\[[^\\]]+?<[^\\]]+?>\\]'
SELECT * FROM message WHERE msgtext REGEXP '\\[[^[.right-square-bracket.]]]+?<[^[.right-square-bracket.]]]+?>\\]'
Run Code Online (Sandbox Code Playgroud)

更新:

以下查询运行没有错误,但不返回任何行,即使我知道有匹配我要查找的列(基于我在顶部的原始查询):

SELECT * FROM message WHERE msgtext REGEXP '\\[([^\\]]+)?<([^\\]]+)?>\\]'
Run Code Online (Sandbox Code Playgroud)

regex mysql square-bracket

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

方括号的函数声明如何在Node.js/Javascript中工作?

第一次看到像这样在Node.js的宣告功能.简而言之,代码与此类似

'use strict';
const Actions = {
  ONE: 'one',
  TWO: 'two',
  THREE: 'three'
};
class FunMap {

  run(action) {
    const map = this;
    map[action]();
  }

  [Actions.ONE] () {
    console.log("Performing action one");
  }

  [Actions.TWO] () {
    console.log("Performing action two");
  }

  [Actions.THREE] () {
    console.log("Performing action three");
  }

}

var funMap = new FunMap();
funMap.run('one');
funMap.run('two');
funMap.run('three');
Run Code Online (Sandbox Code Playgroud)

上面的程序将打印出来

Performing action one
Performing action two
Performing action three
Run Code Online (Sandbox Code Playgroud)

在Node.js/Javascript中是否有这种类型的函数声明的技术名称?

这一行如何将所有这些(通过使用带有字符串常量的方括号声明的函数)放入FunMap对象的属性函数中?

const map = this;
Run Code Online (Sandbox Code Playgroud)

[]javascript类中的方括号表示法是否引用了类本身?

javascript function square-bracket node.js ecmascript-6

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

这是对 Scheme、Racket、Common Lisp 和 Clojure 中方括号行为的正确描述吗?

我最近做了一些挖掘。由于我缺乏 Lisp 经验,我想验证一下我的发现。这是对 Scheme、Racket、Common Lisp 和 Clojure 中方括号行为的正确描述吗?

lisp scheme clojure common-lisp square-bracket

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