在php中如何在不使用键周围的方括号的情况下访问数组的值?我的特殊问题是我想访问函数返回的数组元素.假设函数(args)返回一个数组.为什么$ var = function(args)[0]; 关于方括号向我大吼大叫?我可以做一些像$ var = function(args).value(0); 还是我错过了一些非常基本的东西?
使用以下示例,我需要过滤掉仅包含'ABC'的行,同时跳过与'ABC'匹配的包含方括号的行:
2012-04-04 04:13:48,760~sample1~ABC[TLE 5332.233 2/13/2032 3320392]:CAST 2012-04-04 04:13:48,761~sample2~ABC 2012-04-04 04:13:48,761~sample3~XYZ[BAC.CAD.ABC.CLONE 232511]:TEST
这是我所拥有的,但到目前为止,我无法使用方括号成功过滤掉这些行:
bash-3.00$ cat Metrics.log | grep -e '[^\[\]]' | grep -i 'ABC'
请帮忙?
我发现100在Ruby中的数字上使用括号表示法时,我得到了这个:
irb(main):001:0> 100[0]
=> 0
irb(main):002:0> 100[1]
=> 0
irb(main):003:0> 100[2]
=> 1
Run Code Online (Sandbox Code Playgroud)
所以我假设它得到了数字,索引如下:
NUMBER: 1|0|0
-----
INDEX: 2|1|0
Run Code Online (Sandbox Code Playgroud)
我在数字上尝试了这个789意外的结果.
irb(main):004:0> 789[0]
=> 1
irb(main):005:0> 789[1]
=> 0
irb(main):006:0> 789[2]
=> 1
Run Code Online (Sandbox Code Playgroud)
我希望它会返回9,然后8,7如果它得到数字.从这个结果来看,这显然不会发生,那么在数字上使用括号表示法到底是做什么的呢?
我有以下字符串:
1 "R J BRUCE & OTHERS V B J & W L A EDWARDS And Ors CA CA19/02 27 February 2003",
2 "H v DIRECTOR OF PROCEEDINGS [2014] NZHC 1031 [16 May 2014]",
3 '''GREGORY LANCASTER AND JOHN HENRY HUNTER V CULLEN INVESTMENTS LIMITED AND
ERIC JOHN WATSON CA CA51/03 26 May 2003'''
Run Code Online (Sandbox Code Playgroud)
我试图找到一个匹配所有这些的正则表达式。我不知道如何匹配字符串末尾日期周围的可选方括号,例如 [2014 年 5 月 16 日]。
casename = re.compile(r'(^[A-Z][A-Za-z\'\(\) ]+\b[v|V]\b[A-Za-z\'\(\) ]+(.*?)[ \[ ]\d+ \w+ \d\d\d\d[\] ])', re.S)
Run Code Online (Sandbox Code Playgroud)
最后的日期正则表达式只匹配方括号中日期的情况,而不匹配没有方括号的情况。
感谢所有回答的人。@Matt Clarkson 我试图匹配的是更大文本中的司法决定“处理”。这些句柄中有很大的变化,但它们都从一行的开头开始,在派对名称和末尾的日期之间有“v”表示 vs。大多数情况下,各方的名称都以大写字母表示,但并非唯一。我试图每个文档只有一个匹配项并且没有误报。
我正在使用一种转换表构建一个与画布相关的类.转换表可由用户编辑.(不是真的相关,但也许你想知道为什么):
cLayout = function(option) {
//obtaining the canvas (el) here
this.setup = function(option) {
t=this.table;
for (var p in t)
{
el[t[p][0]] = option[p]||t[p][1]
}
}
this.setup(option)
}
cLayout.prototype.table = {
width:[['style']['width'],"100%"],
height:['style'['height'],"100%"],
bg:[['style']['backgroundColor'],""],
position:[['style']['position'],"absolute"],
left:['style'['left'],"0px"],
top:['style'['left'],"0px"]
}
Run Code Online (Sandbox Code Playgroud)
例:
var b = new cLayout({left:'10%',width:'90%'})
Run Code Online (Sandbox Code Playgroud)
真实的问题:
通常,我会el['style']['width']用来设置el.style.width.但我想在el[something]没有第二对括号的情况下使用:我希望属性名称完全可变(我也希望能够设置el['innerHTML']).那么,有没有办法让孙子使用a[b],而不使用a[b][c]?
PS当然,我不想使用eval.
方括号的C#引用说:方括号[]用于数组,索引器和属性.它们也可以与指针一起使用.(它也表示,对于数组)如果数组索引超出范围,则抛出异常.
因此,当您在数组之外的其他内容上使用方括号时,您如何知道可能抛出的异常?
对于Dictionary(例如),如果使用诸如Dictionary.TryGetValue之类的访问器方法,则可以轻松查找方法可能抛出的异常,但方括号[]的C#引用仅表示它可能会抛出索引的异常.数组上的范围.
因此,如果要对某些数据类型使用方括号,在哪里可以查找可能为该数据类型抛出哪些异常?
我尝试访问一个不存在的Dictionary成员,只是为了看看会发生什么,我得到了KeyNotFoundException.我知道你也可以得到NullReferenceException.这记录在哪里?什么是完整的清单?
给出以下代码:
def map(char, charmap)
unless map = charmap[[char]]
unless map = charmap[[char, c = input.getc]]
input.ungetc(c) if c
map = ''
end
end
map
end
Run Code Online (Sandbox Code Playgroud)
双方括号是做什么的?
谢谢
我一直在使用JavaScript中的模块模式,并对范围和方括号表示法(SBN)有疑问.
请考虑以下简单示例.
(function (module) {
function myMethod(text) {
console.log(text);
}
module.init = function (name) {
// here I want to do something like
// eval(name)("hello");
// using SBN, e.g.
..[name].call(this, "hello");
};
})(window.Module = window.Module || {});
Module.init("myMethod");
Run Code Online (Sandbox Code Playgroud)
从init功能内部可以myMethod使用SBN 进行呼叫吗?
我需要替换键:值对周围的方括号,类似于以下内容.任何帮助深表感谢!
'properties'中的数据如下所示:
name: property1
value: [12345667:97764458]
**code**
SELECT p.name, regexp_replace(p.value,'[','') AS value
FROM properties p
Run Code Online (Sandbox Code Playgroud)
解决:修改后的代码
SELECT p.name, regexp_replace(p.value,'\\[|\\]','') AS value
FROM properties p;
Run Code Online (Sandbox Code Playgroud) 这已经让我很烦了。")", "]", "}"当已经存在相同类型的结束符号时,VSCode不允许我键入右括号或括号等。
在此WEBM中,您看到我尝试设置另一组括号,而VSCode跳过了我键入的右括号。这非常烦人。 WEBM
如何在VSCode中禁用此行为?(或者更正它,所以VSCode为我关闭了内部括号。)
编辑:我知道我可以使用禁用VSCode中的自动闭合括号"editor.autoClosingBrackets": false。但是我不想完全禁用它。我只想禁用改写。