给定包含捕获组(括号)和字符串的正则表达式,如何获得与捕获组匹配的所有子字符串,即通常由"\ 1","\ 2"引用的子字符串?
示例:考虑前缀为"xy"的正则表达式捕获数字:
s <- "xy1234wz98xy567"
r <- "xy(\\d+)"
Run Code Online (Sandbox Code Playgroud)
期望的结果:
[1] "1234" "567"
Run Code Online (Sandbox Code Playgroud)
第一次尝试gregexpr:
regmatches(s,gregexpr(r,s))
#[[1]]
#[1] "xy1234" "xy567"
Run Code Online (Sandbox Code Playgroud)
不是我想要的,因为它返回匹配整个模式的子串.
第二次尝试regexec:
regmatches(s,regexec("xy(\\d+)",s))
#[[1]]
#[1] "xy1234" "1234"
Run Code Online (Sandbox Code Playgroud)
不是我想要的,因为它返回只为整个模式和捕获组匹配第一次出现的.
如果有一个gregexec函数,扩展regexec为gregexpr扩展regexpr,我的问题将得到解决.
所以问题是:如何检索regmatches在任意正则表达式中匹配捕获组的所有子串(或可以传递给上面示例的索引)?
注意:r上面给出的模式只是一个愚蠢的例子,它必须保持随意.
更新:只是总结一下我的问题归结为:
我希望构建.NET表单和控件不会创建任何窗口句柄 - 希望该过程被延迟到Form.Show/Form.ShowDialog
任何人都可以确认或否认这是否属实?
我有一个带有选项卡控件的大型WinForms表单,表单上有许多控件,在加载几秒钟时会暂停.我已经将它缩小到InitializeComponent中设计器生成的代码,而不是构造函数或OnLoad中的任何逻辑.
我很清楚我不能尝试在主UI线程以外的任何线程上与UI交互,但我想做的是让应用程序预先加载这个表单(运行构造函数)在后台,所以只要用户想要打开它,就可以立即在UI线程上显示.但是,在后台线程中构建时,在设计器的这一行:
this.cmbComboBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
Run Code Online (Sandbox Code Playgroud)
我收到了错误
在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式.确保您的Main函数标记了STAThreadAttribute.
现在,这是设计器文件的一半,这让我希望通常这种策略可行.但是这条特殊的线似乎试图立即启动某种OLE调用.
有任何想法吗?
编辑:
我想我不是在这里说清楚.延迟似乎发生在设计人员生成的代码期间构建bazillion控件期间.
我希望所有这些初始化代码都是在没有实际尝试触摸任何真正的Win32窗口对象的情况下发生的,因为表单尚未实际显示.
我可以设置(例如)标签文本和位置来自这个后台线程的事实让我希望这是真的.然而,对于所有房产而言可能并非如此.
我需要添加一些功能,以便能够打印datagridview中显示的内容.我试图使用位图类,但它似乎没有打印所有的行和列.它看起来像一个截图,缺少一些列和行.谁知道有更好的方法来处理这个问题?非常感谢.
我使用raycaster使用正交相机选择对象时遇到了一些困难.虽然,当我使用透视相机时,我没有任何问题.我在两者之间切换时唯一要改变的是型号相机.
我可以在正交视图上选择面部,但它与我点击屏幕的位置只是松散相关.当我可以远离物体点击时它仍然会回来,好像它已经击中了靠近它的中心的物体.
关于我在这里缺少什么的想法?
我在这个例子中基于我的大部分代码,并希望从我的代码中获得非常相似的结果.(这个例子我正在引用透视摄像头)
任何帮助深表感谢
<html>
<head>
<style>
canvas {
left: 0;
top: 0;
width: 100%;
height: 100%;
position: fixed;
background-color: #111115;
}
</style>
</head>
<body id='c'>
<script src="js/three.js"></script>
<script>
var obj = [];
var mouse ={};
var zoom = 2;
var scene = new THREE.Scene();
//switch between these two and see the difference:
//var camera = new THREE.OrthographicCamera(window.innerWidth / -zoom, window.innerWidth / zoom, window.innerHeight / zoom, window.innerHeight / -zoom, -1000, 1000);
var camera = new THREE.PerspectiveCamera( 45, …Run Code Online (Sandbox Code Playgroud) 我试图找到一个元素的父亲,它是父亲的第一个孩子,代码是这样的:
<ul class="lowerMenu">
<li><a href="" class="selected">Welcome</a></li>
<li><a href="">Logo</a></li>
<li><a href="">Websites</a></li>
<li><a href="">Stationery</a></li>
<li><a href="">Illustration</a></li>
<li><a href="">Full Pack</a></li>
</ul>
function setIntervalAndExecute() {
changeImages();
setTimeout(function(){
showImages(imagesArray);
},500);
var intervalot = window.setInterval(function(){
changeImages();
var selected = $('.selected');
if (!selected.parent().is(':last-child')) {
$('.selected').parent().next().children().addClass('selected');
selected.removeClass('selected');
} else {
$('.selected').parent().parent().children(':first-child').addClass('selected');
selected.removeClass('selected'); // nesho ne mi rabotit ovdeki
}
window.setTimeout(function(){
showImages(imagesArray);
},500);
},10000);
return intervalot;
}
var intervalot = setIntervalAndExecute();
Run Code Online (Sandbox Code Playgroud)
我知道它有点复杂,但我是jquery的新手,所以我要做的是在"选定"类到达最后一个元素之后,我想删除它并将其设置为第一个元素.我试过这个,但似乎没有用
$('.selected').parent().parent().children(':first-child').addClass('selected');
Run Code Online (Sandbox Code Playgroud)
当它到达最后一个元素时,间隔执行两次然后停止.这是我正在努力的网站:
我试图让一个单元格执行基于单元格的黄昏颜色的功能.
这是我目前的功能:
=IF(A6.Interior.ColorIndex=6,IF(ROUNDDOWN(IF(M6<3,0,IF(M6<5,1,IF(M6<10,3,(M6/5)+2))),0)=0,0,ROUNDDOWN(IF(M6<3,0,IF(M6<5,1,IF(M6<10,2,(M6/5)+2))),0)),IF(ROUNDDOWN(IF(M6<7,0,IF(M6<10,1,M6/5)),0)=0,0,ROUNDDOWN(IF(M6<7,0,IF(M6<10,1,M6/5)),0)))
Run Code Online (Sandbox Code Playgroud)
这样你就不必仔细阅读所有这些,这是一个更简单的例子
=IF(A6.Interior.ColorIndex=6,"True","False")
Run Code Online (Sandbox Code Playgroud)
他回来的只是#NAME?.有没有办法可以将其作为单元格中的函数执行,还是绝对需要VBA?
谢谢,
约旦
好的,我有2张桌子:
images votes
---------------------------- --------------------
image_id | name | square_id vote_id | image_id
---------------------------- --------------------
1 someImg 14 1 45
2 newImg 3 2 18
3 blandImg 76 3 1
... ...
n n
Run Code Online (Sandbox Code Playgroud)
这是一对多的关系.每个图像可以有多个投票,但投票只能与一个图像相关.我正在尝试生成一个连接查询,它将显示图像ID,以及它在指定条件下(例如,基于square_id)的投票数.因此查询结果看起来类似于:
query_result
----------------------
image_id | vote_count
----------------------
18 46
26 32
20 18
...
55 1
Run Code Online (Sandbox Code Playgroud)
但我能做的最好的就是:
query_result
----------------------
image_id | vote_id
----------------------
18 46
18 45
18 127
26 66
26 43
55 1
Run Code Online (Sandbox Code Playgroud)
看到问题?每个image_id都列出了多次vote_id.这是产生这个的查询:
SELECT images.image_id, votes.vote_id
FROM …Run Code Online (Sandbox Code Playgroud) 尝试在Windows 64上安装Oracle Express版本时,我不断收到此错误.我在线搜索,我发现的唯一帖子是缺少注册表项.在我的情况下,实际文件丢失了.我已经多次卸载,重新启动和重新安装.
在过去的几周里,我一直在努力使用Angular,Node,TDD,Heroku,Amazon S3等.试图更好地了解如何构建具有坚固后端的完全可扩展的SPA,与grunt,bower,避风港合作还没有使用Jasmine在TDD中浸泡我的脚趾,虽然我知道如何通过Karma进行测试,这可能是我的下一步.
有一件事是肯定的:这是很多信息
首先,我玩了
并阅读了许多帖子等.
我发现NG Boilerplate是最符合逻辑的结构(就我对这些事情的理解而言).
作为一个演示项目(从一些非常小的东西演变而来)我想使用以下方法制作单页CRUD应用程序:
现在我想使用Angular-Apps的(https://github.com/angular-app/angular-app)服务器作为我的NGBoilerplate kickstarter的后端
我想知道如何:
我脑子里有一个很大的模糊:).
想要创建一个Android应用程序,它打开一个自定义构建文件扩展名(例如,我想打开.abcd文件)
它类似于Adobe Reader,可打开.pdf文件或打开.jpg文件的Photo Viewer
具体条件:
1..abcd文件应位于应用程序本身的外部/外部.(.pdf是Adobe Reader)
2..abcd文件是一个压缩文件,包含几个文件夹和.xml,.txt和.jpg文件.我想,我想提取它-也许暂时-在存储的地方(当然需要一个拉链/ unzipper库),然后读取个人的.xml,.txt和.jpg文件.
寻找这个问题的见解和答案.
附加信息:
我对Android编程比较陌生.