小编IMS*_*SoP的帖子

如何根据给定的正则表达式构建 CFG

我想弄清楚如何根据给定的正则表达式构建 CFG(上下文无关语法)。比如a(a​​b)*(a|b)我觉得有一个算法可以通过,但是真的很混乱。这是我到目前为止所得到的:

    S->aAB; 
    A->aAb|empty;
    B->a|b;
Run Code Online (Sandbox Code Playgroud)

这看起来对吗?任何帮助,将不胜感激。

regex algorithm context-free-grammar

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

带有Retrofit 1.9的SimpleXML,'属性'版本'在类中没有匹配'

我有一个我需要解析的XML(我无法控制XML或其格式):

<?xml version="1.0" encoding="UTF-8"?>
<Siri xmlns="http://www.siri.org.uk/siri" version="1.3">
<ResponseTimestamp>2016-01-27T21:49:18.6841619-07:00</ResponseTimestamp>
<VehicleMonitoringDelivery version="1.3">
  <ResponseTimestamp>2016-01-27T21:49:18.6841619-07:00</ResponseTimestamp>
  <ValidUntil>2016-01-27T21:49:28.6841619-07:00</ValidUntil>
  <VehicleActivity>
     <RecordedAtTime>2016-01-27T21:49:18.6841619-07:00</RecordedAtTime>
     <MonitoredVehicleJourney>
        <LineRef>750</LineRef>
        <DirectionRef>SOUTHBOUND</DirectionRef>
        <FramedVehicleJourneyRef>
           <DataFrameRef>2016-01-27T00:00:00-07:00</DataFrameRef>
           <DatedVehicleJourneyRef>2519014</DatedVehicleJourneyRef>
        </FramedVehicleJourneyRef>
        <PublishedLineName>FRONTRUNNER</PublishedLineName>
        <OriginRef>601084</OriginRef>
        <DestinationRef>801164</DestinationRef>
        <Monitored>True</Monitored>
        <VehicleLocation>
           <Longitude>-111.86847</Longitude>
           <Latitude>40.401028</Latitude>
        </VehicleLocation>
        <ProgressRate>1</ProgressRate>
        <CourseOfJourneyRef>18127</CourseOfJourneyRef>
        <VehicleRef>101</VehicleRef>
        <MonitoredCall>
           <StopPointRef>801160</StopPointRef>
           <VisitNumber>1</VisitNumber>
           <VehicleAtStop>false</VehicleAtStop>
        </MonitoredCall>
        <OnwardCalls>
           <OnwardCall>
              <StopPointRef>23076</StopPointRef>
              <VisitNumber>1</VisitNumber>
              <StopPointName>OREM CENTRAL STATION</StopPointName>
           </OnwardCall>
        </OnwardCalls>
        <Extensions>
           <LastGPSFix>2016-01-27T21:49:09.473</LastGPSFix>
           <Scheduled>False</Scheduled>
           <Bearing>137.91188191173691</Bearing>
           <Speed>76.7898894465909</Speed>
           <DestinationName>Provo</DestinationName>
        </Extensions>
     </MonitoredVehicleJourney>
  </VehicleActivity>
  </VehicleMonitoringDelivery>
</Siri>
Run Code Online (Sandbox Code Playgroud)

我有一个超级基础和剥离类车辆只有根元素,像这样:

import org.simpleframework.xml.Root;

@Root(name="VehicleActivity")
 public class Vehicle
{
    public Vehicle(){}
}
Run Code Online (Sandbox Code Playgroud)

在xml中,我只关心VehicleActivity标签内的数据.

当我尝试解析它时,从改造回调的成功方法,我得到错误Attribute 'version' does not have a match in …

java xml android simple-framework retrofit

5
推荐指数
1
解决办法
2495
查看次数

运行“composer update &lt;package&gt;”时,“locked at” &lt;tag&gt; 是什么意思?

我正在尝试执行composer update <package>但收到以下错误:

请求的包 <package>(锁定在 <tag>,要求为 <version>)由 <package>[<tag>] 满足,但这些与您的要求或最低稳定性相冲突。

同时,该标记<tag>仅作为字符串存在于我的 composer.lock 文件中,我认为该文件仅由 修改composer update,而不是读回。

我试过运行composer why-not <package>,但它的输出并没有真正解释这个问题:

<program> <other-version> 需要 <package> (<version>)

在这种情况下,“锁定”是什么意思,我该如何解决这个问题?

php composer-php

5
推荐指数
2
解决办法
3456
查看次数

Laravel Passport 在升级到 PHP8.0 后得到“无法解析您的密钥,原因:“””错误

我的应用程序在 Laravel 8 上使用laravel/passport 10.0.1. 将php开发服务器上的版本从升级7.4到 后8.0It was not possible to parse your key, reason: ""出现错误(没有来自 openssl_error_string 的任何消息)。

任何想法如何解决它?

php laravel-passport php-8

5
推荐指数
1
解决办法
3732
查看次数

MySQL中的链式比较得到了意想不到的结果

我有一个问题,一直在返回null的MySQL语句,虽然我能够弄清楚,但是原因让我有些困惑.

这是有问题的查询的简化版本:

SELECT id FROM users WHERE id = id = 2;
Run Code Online (Sandbox Code Playgroud)

发生错误是因为id =重复,删除其中一个id =解决了问题(因为有一个用户的id为2).但令我有点困惑的是它如何"无声地失败",返回0行,而不是给出错误.

我在SQL Server上测试了类似的查询,并得到了错误消息Incorrect syntax near '='(类似于我对MySQL的预期).

最初,我认为MySQL 在前两个字段之间进行了比较,最后一个是比较的结果(0表示false,1表示true).像这样的东西:

SELECT id FROM users WHERE (id = id) = 2;
Run Code Online (Sandbox Code Playgroud)

但后来我提出了一些与之相矛盾的问题.让我详细说明一下.

想象一下这个表(称为"用户"):

id  | username
----|----------------
0   | anonymous
1   | root
2   | john
3   | doe
Run Code Online (Sandbox Code Playgroud)

如果我这样做SELECT * FROM users WHERE id = id = 1,我将获得所有4个用户.而且SELECT * FROM users WHERE id = id = …

mysql sql database

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

SimpleXML如何获取节点的行号?

我在SimpleXML和PHP中使用它:

foreach ($xml->children() as $node) {
    echo $node->attributes('namespace')->id;
}
Run Code Online (Sandbox Code Playgroud)

这将打印id所有节点的属性(使用命名空间).

但现在我想知道$nodeXML文件中的行号.

我需要行号,因为我正在分析XML文件,并返回可能问题的用户信息来解决它们.所以我需要说一句:"这里你在第X行有一个错误".我确信XML文件将采用标准格式,这将有足够的换行符以使其有用.

php xml dom simplexml

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

为什么我收到“git lfs clone 已弃用”的警告?

当我运行这个时:

git lfs clone https://github.com/Unity-Technologies/FPSSample.git
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

警告:“git lfs clone”已弃用,并且不会使用“git clone”的新标志进行更新“git clone”已在上游 Git 中更新,具有与“git lfs clone”相当的速度。

这是什么意思?我需要做什么?

git deprecated git-lfs

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

Phpmyadmin 5.1.0.RC1 &amp; 5.0.4 错误(./libraries/classes/Config.php#1285 mkdir() 中的警告:权限被拒绝)

我在 ubuntu 服务器 20.04 上测试了 phpmyadmin 5.0.4 和 5.1.0.RC1,出现以下错误:

Warning in ./libraries/classes/Config.php#1285
 mkdir(): Permission denied
Backtrace

./libraries/classes/Config.php#1285: mkdir(
string '/usr/share/phpmyadmin//var/lib/phpmyadmin/tmp/twig',
integer 504,
boolean true,
)
./libraries/classes/Template.php#57: PhpMyAdmin\Config->getTempDir(string 'twig')
./libraries/classes/Theme.php#101: PhpMyAdmin\Template->__construct()
./libraries/classes/Theme.php#174: PhpMyAdmin\Theme->__construct()
./libraries/classes/ThemeManager.php#307: PhpMyAdmin\Theme::load(
string './themes/pmahomme',
string '/usr/share/phpmyadmin/./themes/pmahomme/',
)
./libraries/classes/ThemeManager.php#79: PhpMyAdmin\ThemeManager->loadThemes()
./libraries/classes/ThemeManager.php#121: PhpMyAdmin\ThemeManager->__construct()
./libraries/classes/ThemeManager.php#385: PhpMyAdmin\ThemeManager::getInstance()
./libraries/common.inc.php#232: PhpMyAdmin\ThemeManager::initializeTheme()
./index.php#15: require_once(./libraries/common.inc.php)
Run Code Online (Sandbox Code Playgroud)

我尝试通过 www-data(原始“root”)更改我的 ./libraries/classes/Config.php 和 /var/lib/phpmyadmin/tmp/twig(也创建了此文件夹“twig”)的所有者,但是错误没有解决。

我的供应商配置是:

<?php
/**
 * File for vendor customization, you can change here paths or some behaviour,
 * which vendors such as Linux distributions might want to …
Run Code Online (Sandbox Code Playgroud)

php phpmyadmin mkdir permission-denied php-8

4
推荐指数
3
解决办法
7165
查看次数

空字符串与零的比较在 PHP 8 中给出的结果与以前的版本不同

此代码在 PHP 8 中给出的结果与所有以前版本的 PHP 中的结果不同:

if ('' == 0)
  echo 'PHP '.phpversion().' says yes';
else
  echo 'PHP '.phpversion().' says no';


PHP 7.2.12 says yes
PHP 7.4.14 says yes
PHP 8.0.0 says no
Run Code Online (Sandbox Code Playgroud)

这似乎是一个重大变化。这里发生了什么?

php php-8

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

SimpleXML解析elementlist异常

嗨,我有解析这个xml的问题:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Items>
        <Item>
            <TdlID>202</TdlID>
            <TdlDesc>1234567890</TdlDesc>
            <Due>2013-07-19</Due>
            <Done>0</Done>
            <Creadate>2013-07-08 23:43:51</Creadate>
            <UsrLogin>demouser</UsrLogin>
            <Prj>3211</Prj>
            <Chngdate>2013-07-17</Chngdate>
        </Item>
        <Item>
            <TdlID>218</TdlID>
            <TdlDesc>fghjkljh</TdlDesc>
            <Due>2013-07-31</Due>
            <Done>1</Done>
            <Creadate>2013-07-10 11:06:10</Creadate>
            <UsrLogin>demouser</UsrLogin>
            <Prj>abcd</Prj>
            <Chngdate>2013-07-17</Chngdate>
        </Item>
    </Items>
    <Status>
        <code>0</code>
        <message>Its Working!!!</message>
    </Status>
</Response>
Run Code Online (Sandbox Code Playgroud)

我知道,这个问题在ElementList中是100%,但不知道,在哪里:(

package sk.jbase.todolist.xml;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Order;

import java.util.ArrayList;
import java.util.List;

@Element(name = "Items")
@Order(elements = "Item")
public class Items {

    @ElementList(name = "Item")
    protected List<Item> item;

    public List<Item> getItems() {
        if (item == null) {
            item = new ArrayList<Item>();
        }
        return this.item; …
Run Code Online (Sandbox Code Playgroud)

element list unmarshalling simple-framework

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